Skip to content

Commit 94f1617

Browse files
alperozturk96tobiasKaminsky
authored andcommitted
Use brandingUtil for MaterialAlertDialogs
Signed-off-by: alperozturk <[email protected]>
1 parent 4738872 commit 94f1617

File tree

7 files changed

+67
-44
lines changed

7 files changed

+67
-44
lines changed

app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.util.Objects;
2828
import java.util.stream.Collectors;
2929

30+
import it.niedermann.owncloud.notes.NotesApplication;
3031
import it.niedermann.owncloud.notes.R;
3132
import it.niedermann.owncloud.notes.branding.BrandedDialogFragment;
3233
import it.niedermann.owncloud.notes.databinding.DialogChooseAccountBinding;
@@ -80,11 +81,11 @@ public void onAttach(@NonNull Context context) {
8081
@NonNull
8182
@Override
8283
public Dialog onCreateDialog(Bundle savedInstanceState) {
83-
final var dialogBuilder = new MaterialAlertDialogBuilder(requireActivity())
84+
final MaterialAlertDialogBuilder dialogBuilder = new MaterialAlertDialogBuilder(requireActivity())
8485
.setTitle(R.string.simple_move)
8586
.setNegativeButton(android.R.string.cancel, null);
8687

87-
if (targetAccounts.size() > 0) {
88+
if (!targetAccounts.isEmpty()) {
8889
final var binding = DialogChooseAccountBinding.inflate(LayoutInflater.from(requireContext()));
8990
final var adapter = new AccountChooserAdapter(targetAccounts, (account -> {
9091
accountPickerListener.onAccountPicked(account);
@@ -96,6 +97,8 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
9697
dialogBuilder.setMessage(getString(R.string.no_other_accounts));
9798
}
9899

100+
NotesApplication.brandingUtil().dialog.colorMaterialAlertDialogBackground(requireContext(), dialogBuilder);
101+
99102
return dialogBuilder.create();
100103
}
101104

app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
109109
dismiss();
110110
});
111111

112-
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireContext())
112+
final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireContext())
113113
.setView(binding.getRoot());
114114

115115
NotesApplication.brandingUtil().dialog.colorMaterialAlertDialogBackground(requireContext(), builder);

app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import java.util.List;
2626

27+
import it.niedermann.owncloud.notes.NotesApplication;
2728
import it.niedermann.owncloud.notes.R;
2829
import it.niedermann.owncloud.notes.branding.BrandedDialogFragment;
2930
import it.niedermann.owncloud.notes.branding.BrandingUtil;
@@ -155,13 +156,16 @@ public void afterTextChanged(Editable s) {
155156
}
156157
});
157158

158-
return new MaterialAlertDialogBuilder(requireContext())
159+
final MaterialAlertDialogBuilder alertDialogBuilder = new MaterialAlertDialogBuilder(requireContext())
159160
.setTitle(R.string.change_category_title)
160161
.setView(dialogView)
161162
.setCancelable(true)
162163
.setPositiveButton(R.string.action_edit_save, (dialog, which) -> listener.onCategoryChosen(editCategory.getText().toString()))
163-
.setNegativeButton(R.string.simple_cancel, null)
164-
.create();
164+
.setNegativeButton(R.string.simple_cancel, null);
165+
166+
NotesApplication.brandingUtil().dialog.colorMaterialAlertDialogBackground(requireContext(), alertDialogBuilder);
167+
168+
return alertDialogBuilder.create();
165169
}
166170

167171
@Override

app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
1919

20+
import it.niedermann.owncloud.notes.NotesApplication;
2021
import it.niedermann.owncloud.notes.R;
2122
import it.niedermann.owncloud.notes.branding.BrandedDialogFragment;
2223
import it.niedermann.owncloud.notes.branding.BrandingUtil;
@@ -59,13 +60,16 @@ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
5960
binding.title.setText(oldTitle);
6061
}
6162

62-
return new MaterialAlertDialogBuilder(requireContext())
63+
final MaterialAlertDialogBuilder alertDialogBuilder = new MaterialAlertDialogBuilder(requireContext())
6364
.setTitle(R.string.change_note_title)
6465
.setView(dialogView)
6566
.setCancelable(true)
6667
.setPositiveButton(R.string.action_edit_save, (dialog, which) -> listener.onTitleEdited(binding.title.getText().toString()))
67-
.setNegativeButton(R.string.simple_cancel, null)
68-
.create();
68+
.setNegativeButton(R.string.simple_cancel, null);
69+
70+
NotesApplication.brandingUtil().dialog.colorMaterialAlertDialogBackground(requireContext(), alertDialogBuilder);
71+
72+
return alertDialogBuilder.create();
6973
}
7074

7175
@Override

app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import it.niedermann.android.util.ClipboardUtil;
2323
import it.niedermann.nextcloud.exception.ExceptionUtil;
2424
import it.niedermann.owncloud.notes.BuildConfig;
25+
import it.niedermann.owncloud.notes.NotesApplication;
2526
import it.niedermann.owncloud.notes.R;
2627
import it.niedermann.owncloud.notes.databinding.DialogExceptionBinding;
2728
import it.niedermann.owncloud.notes.exception.tips.TipsAdapter;
@@ -69,12 +70,15 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
6970

7071
adapter.setThrowables(throwables);
7172

72-
return new MaterialAlertDialogBuilder(requireActivity())
73+
final MaterialAlertDialogBuilder alertDialogBuilder = new MaterialAlertDialogBuilder(requireActivity())
7374
.setView(binding.getRoot())
7475
.setTitle(R.string.error_dialog_title)
7576
.setPositiveButton(android.R.string.copy, (a, b) -> ClipboardUtil.copyToClipboard(requireContext(), getString(R.string.simple_exception), "```\n" + debugInfos + "\n```"))
76-
.setNegativeButton(R.string.simple_close, null)
77-
.create();
77+
.setNegativeButton(R.string.simple_close, null);
78+
79+
NotesApplication.brandingUtil().dialog.colorMaterialAlertDialogBackground(requireContext(), alertDialogBuilder);
80+
81+
return alertDialogBuilder.create();
7882
}
7983

8084
public static DialogFragment newInstance(ArrayList<Throwable> exceptions) {

app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171

7272
import it.niedermann.android.util.ColorUtil;
7373
import it.niedermann.owncloud.notes.LockedActivity;
74+
import it.niedermann.owncloud.notes.NotesApplication;
7475
import it.niedermann.owncloud.notes.R;
7576
import it.niedermann.owncloud.notes.accountpicker.AccountPickerListener;
7677
import it.niedermann.owncloud.notes.accountswitcher.AccountSwitcherDialog;
@@ -179,37 +180,7 @@ protected void onCreate(Bundle savedInstanceState) {
179180
runOnUiThread(() -> mainViewModel.postCurrentAccount(account));
180181
} catch (NextcloudFilesAppAccountNotFoundException e) {
181182
// Verbose log output for https://github.com/nextcloud/notes-android/issues/1256
182-
runOnUiThread(() -> new MaterialAlertDialogBuilder(this)
183-
.setTitle(NextcloudFilesAppAccountNotFoundException.class.getSimpleName())
184-
.setMessage(R.string.backup)
185-
.setPositiveButton(R.string.simple_backup, (a, b) -> executor.submit(() -> {
186-
final var modifiedNotes = new LinkedList<Note>();
187-
for (final var account : mainViewModel.getAccounts()) {
188-
modifiedNotes.addAll(mainViewModel.getLocalModifiedNotes(account.getId()));
189-
}
190-
if (modifiedNotes.size() == 1) {
191-
final var note = modifiedNotes.get(0);
192-
ShareUtil.openShareDialog(this, note.getTitle(), note.getContent());
193-
} else {
194-
ShareUtil.openShareDialog(this,
195-
getResources().getQuantityString(R.plurals.share_multiple, modifiedNotes.size(), modifiedNotes.size()),
196-
mainViewModel.collectNoteContents(modifiedNotes.stream().map(Note::getId).collect(Collectors.toList())));
197-
}
198-
}))
199-
.setNegativeButton(R.string.simple_error, (a, b) -> {
200-
final var ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext());
201-
final var ssoPreferencesString = new StringBuilder()
202-
.append("Current SSO account: ").append(ssoPreferences.getString("PREF_CURRENT_ACCOUNT_STRING", null)).append("\n")
203-
.append("\n")
204-
.append("SSO SharedPreferences: ").append("\n");
205-
for (final var entry : ssoPreferences.getAll().entrySet()) {
206-
ssoPreferencesString.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n");
207-
}
208-
ssoPreferencesString.append("\n")
209-
.append("Available accounts in DB: ").append(TextUtils.join(", ", mainViewModel.getAccounts().stream().map(Account::getAccountName).collect(Collectors.toList())));
210-
runOnUiThread(() -> ExceptionDialogFragment.newInstance(new RuntimeException(e.getMessage(), new RuntimeException(ssoPreferencesString.toString(), e))).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName()));
211-
})
212-
.show());
183+
runOnUiThread(() -> showExceptionAlertDialog(e));
213184
} catch (NoCurrentAccountSelectedException e) {
214185
runOnUiThread(() -> ExceptionDialogFragment.newInstance(e).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName()));
215186
}
@@ -354,6 +325,43 @@ public void onError(@NonNull Throwable t) {
354325
});
355326
}
356327

328+
private void showExceptionAlertDialog(NextcloudFilesAppAccountNotFoundException e) {
329+
final MaterialAlertDialogBuilder alertDialogBuilder = new MaterialAlertDialogBuilder(this)
330+
.setTitle(NextcloudFilesAppAccountNotFoundException.class.getSimpleName())
331+
.setMessage(R.string.backup)
332+
.setPositiveButton(R.string.simple_backup, (a, b) -> executor.submit(() -> {
333+
final var modifiedNotes = new LinkedList<Note>();
334+
for (final var account : mainViewModel.getAccounts()) {
335+
modifiedNotes.addAll(mainViewModel.getLocalModifiedNotes(account.getId()));
336+
}
337+
if (modifiedNotes.size() == 1) {
338+
final var note = modifiedNotes.get(0);
339+
ShareUtil.openShareDialog(this, note.getTitle(), note.getContent());
340+
} else {
341+
ShareUtil.openShareDialog(this,
342+
getResources().getQuantityString(R.plurals.share_multiple, modifiedNotes.size(), modifiedNotes.size()),
343+
mainViewModel.collectNoteContents(modifiedNotes.stream().map(Note::getId).collect(Collectors.toList())));
344+
}
345+
}))
346+
.setNegativeButton(R.string.simple_error, (a, b) -> {
347+
final var ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext());
348+
final var ssoPreferencesString = new StringBuilder()
349+
.append("Current SSO account: ").append(ssoPreferences.getString("PREF_CURRENT_ACCOUNT_STRING", null)).append("\n")
350+
.append("\n")
351+
.append("SSO SharedPreferences: ").append("\n");
352+
for (final var entry : ssoPreferences.getAll().entrySet()) {
353+
ssoPreferencesString.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n");
354+
}
355+
ssoPreferencesString.append("\n")
356+
.append("Available accounts in DB: ").append(TextUtils.join(", ", mainViewModel.getAccounts().stream().map(Account::getAccountName).collect(Collectors.toList())));
357+
runOnUiThread(() -> ExceptionDialogFragment.newInstance(new RuntimeException(e.getMessage(), new RuntimeException(ssoPreferencesString.toString(), e))).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName()));
358+
});
359+
360+
NotesApplication.brandingUtil().dialog.colorMaterialAlertDialogBackground(this, alertDialogBuilder);
361+
362+
alertDialogBuilder.show();
363+
}
364+
357365
@Override
358366
protected void onResume() {
359367
final var accountLiveData = mainViewModel.getCurrentAccount();

app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private void changeAccountSetting(@NonNull Account localAccount, @StringRes int
147147

148148
binding.inputWrapper.setHint(title);
149149

150-
MaterialAlertDialogBuilder alertDialogBuilder = new MaterialAlertDialogBuilder(this)
150+
final MaterialAlertDialogBuilder alertDialogBuilder = new MaterialAlertDialogBuilder(this)
151151
.setTitle(title)
152152
.setMessage(message)
153153
.setView(binding.getRoot())

0 commit comments

Comments
 (0)