Skip to content

Commit d078795

Browse files
Merge pull request #16047 from nextcloud/use-snackbar-instead-of-toast
feat: use snackbar instead of toast
2 parents 036d1e4 + a026eab commit d078795

18 files changed

+78
-76
lines changed

app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import android.text.style.StyleSpan
1616
import android.view.LayoutInflater
1717
import android.view.View
1818
import android.view.ViewGroup
19-
import android.widget.Toast
2019
import androidx.annotation.IdRes
2120
import androidx.appcompat.content.res.AppCompatResources
2221
import androidx.core.os.bundleOf
@@ -123,8 +122,8 @@ class FileActionsBottomSheet :
123122

124123
FileActionsViewModel.UiState.Loading -> {}
125124
FileActionsViewModel.UiState.Error -> {
126-
context?.let {
127-
Toast.makeText(it, R.string.error_file_actions, Toast.LENGTH_SHORT).show()
125+
activity?.let {
126+
DisplayUtils.showSnackMessage(it, R.string.error_file_actions)
128127
}
129128
dismissAllowingStateLoss()
130129
}

app/src/main/java/com/nextcloud/ui/trashbinFileActions/TrashbinFileActionsBottomSheet.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import android.os.Bundle
1010
import android.view.LayoutInflater
1111
import android.view.View
1212
import android.view.ViewGroup
13-
import android.widget.Toast
1413
import androidx.annotation.IdRes
1514
import androidx.appcompat.content.res.AppCompatResources
1615
import androidx.core.os.bundleOf
@@ -108,8 +107,8 @@ class TrashbinFileActionsBottomSheet :
108107

109108
TrashbinFileActionsViewModel.UiState.Loading -> {}
110109
TrashbinFileActionsViewModel.UiState.Error -> {
111-
context?.let {
112-
Toast.makeText(it, R.string.error_file_actions, Toast.LENGTH_SHORT).show()
110+
activity?.let {
111+
DisplayUtils.showSnackMessage(it, R.string.error_file_actions)
113112
}
114113
dismissAllowingStateLoss()
115114
}

app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import android.widget.LinearLayout;
4545
import android.widget.TextView;
4646
import android.widget.TextView.OnEditorActionListener;
47-
import android.widget.Toast;
4847

4948
import com.blikoon.qrcodescanner.QrCodeActivity;
5049
import com.google.android.material.button.MaterialButton;
@@ -859,7 +858,7 @@ protected void onNewIntent(Intent intent) {
859858
if (data != null && data.toString().startsWith(getString(R.string.login_data_own_scheme))) {
860859
if (!MDMConfig.INSTANCE.multiAccountSupport(this) &&
861860
accountManager.getAccounts().length == 1) {
862-
Toast.makeText(this, R.string.no_mutliple_accounts_allowed, Toast.LENGTH_LONG).show();
861+
DisplayUtils.showSnackMessage(this, R.string.no_mutliple_accounts_allowed);
863862
finish();
864863
return;
865864
} else {
@@ -1307,18 +1306,23 @@ private void updateAuthStatusIconAndText(RemoteOperationResult result) {
13071306
case ACCOUNT_NOT_NEW:
13081307
mAuthStatusText = getString(R.string.auth_account_not_new);
13091308
if (!showWebViewLoginUrl) {
1310-
DisplayUtils.showErrorAndFinishActivity(this, mAuthStatusText);
1309+
showErrorAndFinishActivity();
13111310
}
13121311
break;
13131312
case UNHANDLED_HTTP_CODE:
13141313
default:
13151314
mAuthStatusText = ErrorMessageAdapter.getErrorCauseMessage(result, null, getResources());
13161315
if (!showWebViewLoginUrl) {
1317-
DisplayUtils.showErrorAndFinishActivity(this, mAuthStatusText);
1316+
showErrorAndFinishActivity();
13181317
}
13191318
}
13201319
}
13211320

1321+
private void showErrorAndFinishActivity() {
1322+
DisplayUtils.showSnackMessage(this, mAuthStatusText);
1323+
finish();
1324+
}
1325+
13221326
private void updateStatusIconFailUserName(int failedStatusText) {
13231327
mAuthStatusIcon = R.drawable.ic_alert;
13241328
mAuthStatusText = getResources().getString(failedStatusText);
@@ -1588,7 +1592,7 @@ private void startQRScanner() {
15881592

15891593
if (!MDMConfig.INSTANCE.multiAccountSupport(this) &&
15901594
accountManager.getAccounts().length == 1) {
1591-
Toast.makeText(this, R.string.no_mutliple_accounts_allowed, Toast.LENGTH_LONG).show();
1595+
DisplayUtils.showSnackMessage(this, R.string.no_mutliple_accounts_allowed);
15921596
} else {
15931597
parseAndLoginFromWebView(resultData);
15941598
}

app/src/main/java/com/owncloud/android/authentication/DeepLinkLoginActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ package com.owncloud.android.authentication
99

1010
import android.os.Bundle
1111
import android.widget.TextView
12-
import android.widget.Toast
1312
import com.nextcloud.client.di.Injectable
1413
import com.nextcloud.utils.mdm.MDMConfig
1514
import com.owncloud.android.R
15+
import com.owncloud.android.utils.DisplayUtils
1616

1717
class DeepLinkLoginActivity :
1818
AuthenticatorActivity(),
@@ -21,7 +21,7 @@ class DeepLinkLoginActivity :
2121
override fun onCreate(savedInstanceState: Bundle?) {
2222
super.onCreate(savedInstanceState)
2323
if (!MDMConfig.multiAccountSupport(this) && accountManager.accounts.size == 1) {
24-
Toast.makeText(this, R.string.no_mutliple_accounts_allowed, Toast.LENGTH_LONG).show()
24+
DisplayUtils.showSnackMessage(this, R.string.no_mutliple_accounts_allowed)
2525
return
2626
}
2727

@@ -37,8 +37,8 @@ class DeepLinkLoginActivity :
3737
loginUrlInfo.loginName,
3838
loginUrlInfo.server
3939
)
40-
} catch (e: IllegalArgumentException) {
41-
Toast.makeText(this, R.string.direct_login_failed, Toast.LENGTH_LONG).show()
40+
} catch (_: IllegalArgumentException) {
41+
DisplayUtils.showSnackMessage(this, R.string.direct_login_failed)
4242
}
4343
}
4444
}

app/src/main/java/com/owncloud/android/ui/activity/ConflictsResolveActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import android.app.NotificationManager
1414
import android.content.Context
1515
import android.content.Intent
1616
import android.os.Bundle
17-
import android.widget.Toast
1817
import androidx.fragment.app.FragmentTransaction
1918
import androidx.lifecycle.lifecycleScope
2019
import com.nextcloud.client.account.User
@@ -41,6 +40,7 @@ import com.owncloud.android.lib.resources.files.model.RemoteFile
4140
import com.owncloud.android.ui.dialog.ConflictsResolveDialog
4241
import com.owncloud.android.ui.dialog.ConflictsResolveDialog.Decision
4342
import com.owncloud.android.ui.dialog.ConflictsResolveDialog.OnConflictDecisionMadeListener
43+
import com.owncloud.android.utils.DisplayUtils
4444
import com.owncloud.android.utils.FileStorageUtils
4545
import kotlinx.coroutines.Dispatchers
4646
import kotlinx.coroutines.launch
@@ -356,7 +356,7 @@ class ConflictsResolveActivity :
356356
private fun showErrorAndFinish(code: Int? = null) {
357357
val message = parseErrorMessage(code)
358358
lifecycleScope.launch(Dispatchers.Main) {
359-
Toast.makeText(this@ConflictsResolveActivity, message, Toast.LENGTH_LONG).show()
359+
DisplayUtils.showSnackMessage(this@ConflictsResolveActivity, message)
360360
finish()
361361
}
362362
}

app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import android.webkit.ValueCallback;
2424
import android.webkit.WebChromeClient;
2525
import android.webkit.WebView;
26-
import android.widget.Toast;
2726

2827
import com.google.android.material.snackbar.Snackbar;
2928
import com.nextcloud.client.account.User;
@@ -95,8 +94,7 @@ public void onUrlLoaded(String loadedUrl) {
9594
}
9695
}, 10 * 1000);
9796
} else {
98-
Toast.makeText(getApplicationContext(),
99-
R.string.richdocuments_failed_to_load_document, Toast.LENGTH_LONG).show();
97+
DisplayUtils.showSnackMessage(this,R.string.richdocuments_failed_to_load_document);
10098
finish();
10199
}
102100
}
@@ -152,7 +150,7 @@ public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathC
152150
activity.startActivityForResult(intent, REQUEST_LOCAL_FILE);
153151
} catch (ActivityNotFoundException e) {
154152
uploadMessage = null;
155-
Toast.makeText(getBaseContext(), "Cannot open file chooser", Toast.LENGTH_LONG).show();
153+
DisplayUtils.showSnackMessage(EditorWebView.this, R.string.editor_web_view_cannot_open_file);
156154
return false;
157155
}
158156

@@ -163,8 +161,7 @@ public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathC
163161
setFile(IntentExtensionsKt.getParcelableArgument(getIntent(), ExternalSiteWebView.EXTRA_FILE, OCFile.class));
164162

165163
if (getFile() == null) {
166-
Toast.makeText(getApplicationContext(),
167-
R.string.richdocuments_failed_to_load_document, Toast.LENGTH_LONG).show();
164+
DisplayUtils.showSnackMessage(this, R.string.richdocuments_failed_to_load_document);
168165
finish();
169166
}
170167

app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import android.widget.ImageView;
4444
import android.widget.Spinner;
4545
import android.widget.TextView;
46-
import android.widget.Toast;
4746

4847
import com.google.android.material.button.MaterialButton;
4948
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -247,10 +246,9 @@ protected void onStart() {
247246
super.onStart();
248247

249248
if (mAccountManager.getAccountsByType(MainApp.getAccountType(this)).length == 0) {
250-
Toast.makeText(this,
251-
String.format(getString(R.string.uploader_wrn_no_account_text),
252-
getString(R.string.app_name)),
253-
Toast.LENGTH_LONG).show();
249+
final var message = String.format(getString(R.string.uploader_wrn_no_account_text),
250+
getString(R.string.app_name));
251+
DisplayUtils.showSnackMessage(this, message);
254252
return;
255253
}
256254

app/src/main/java/com/owncloud/android/ui/activity/RequestCredentialsActivity.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import android.content.Intent;
1717
import android.os.Bundle;
1818
import android.os.SystemClock;
19-
import android.widget.Toast;
2019

2120
import com.nextcloud.client.preferences.AppPreferencesImpl;
2221
import com.owncloud.android.R;
@@ -55,7 +54,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
5554
} else if (resultCode == Activity.RESULT_CANCELED) {
5655
finishWithResult(KEY_CHECK_RESULT_CANCEL);
5756
} else {
58-
Toast.makeText(this, R.string.default_credentials_wrong, Toast.LENGTH_SHORT).show();
57+
DisplayUtils.showSnackMessage(this, R.string.default_credentials_wrong);
5958
requestCredentials();
6059
}
6160
}

app/src/main/java/com/owncloud/android/ui/activity/SetupEncryptionActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ package com.owncloud.android.ui.activity
99

1010
import android.content.Intent
1111
import android.os.Bundle
12-
import android.widget.Toast
1312
import androidx.appcompat.app.AppCompatActivity
1413
import com.nextcloud.client.account.User
1514
import com.nextcloud.utils.extensions.getParcelableArgument
1615
import com.owncloud.android.R
1716
import com.owncloud.android.ui.dialog.setupEncryption.SetupEncryptionDialogFragment
17+
import com.owncloud.android.utils.DisplayUtils
1818

1919
class SetupEncryptionActivity : AppCompatActivity() {
2020
override fun onCreate(savedInstanceState: Bundle?) {
@@ -23,7 +23,7 @@ class SetupEncryptionActivity : AppCompatActivity() {
2323
val user = intent?.getParcelableArgument("EXTRA_USER", User::class.java)
2424

2525
if (user == null) {
26-
Toast.makeText(this, getString(R.string.error_showing_encryption_dialog), Toast.LENGTH_LONG).show()
26+
DisplayUtils.showSnackMessage(this, R.string.error_showing_encryption_dialog)
2727
finish()
2828
}
2929

app/src/main/java/com/owncloud/android/ui/activity/TextEditorWebView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
package com.owncloud.android.ui.activity
99

1010
import android.annotation.SuppressLint
11-
import android.widget.Toast
1211
import androidx.core.net.toUri
1312
import androidx.webkit.WebSettingsCompat
1413
import androidx.webkit.WebViewFeature
@@ -18,6 +17,7 @@ import com.nextcloud.client.device.DeviceInfo
1817
import com.nextcloud.utils.EditorUtils
1918
import com.owncloud.android.R
2019
import com.owncloud.android.ui.asynctasks.TextEditorLoadUrlTask
20+
import com.owncloud.android.utils.DisplayUtils
2121
import com.owncloud.android.utils.theme.ThemeUtils
2222
import javax.inject.Inject
2323

@@ -39,7 +39,7 @@ class TextEditorWebView : EditorWebView() {
3939
super.postOnCreate()
4040

4141
if (!user.isPresent) {
42-
Toast.makeText(this, getString(R.string.failed_to_start_editor), Toast.LENGTH_LONG).show()
42+
DisplayUtils.showSnackMessage(this, R.string.failed_to_start_editor)
4343
finish()
4444
}
4545

0 commit comments

Comments
 (0)