Skip to content

Commit 51006bc

Browse files
committed
Customized dialog theme.
NMC-3805 -- logout popup wording adaptation
1 parent 9a491e9 commit 51006bc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+392
-343
lines changed

app/src/main/java/com/nextcloud/ui/ChooseStorageLocationDialogFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import androidx.fragment.app.DialogFragment
1818
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1919
import com.nextcloud.client.di.Injectable
2020
import com.nextcloud.client.preferences.AppPreferencesImpl
21+
import com.nmc.android.utils.DialogThemeUtils
2122
import com.owncloud.android.MainApp
2223
import com.owncloud.android.R
2324
import com.owncloud.android.databinding.DialogDataStorageLocationBinding
@@ -59,7 +60,8 @@ class ChooseStorageLocationDialogFragment :
5960
dialog.dismiss()
6061
}.setView(binding.root)
6162

62-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(requireContext(), builder)
63+
// NMC customization: customize dialog bg color
64+
DialogThemeUtils.colorMaterialAlertDialogBackground(requireContext(), builder)
6365

6466
binding.storageRadioGroup.setOnCheckedChangeListener { _, _ ->
6567
updateMediaIndexSwitch()
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.nmc.android.utils
2+
3+
import android.content.Context
4+
import android.content.res.ColorStateList
5+
import android.os.Build
6+
import com.google.android.material.dialog.MaterialAlertDialogBuilder
7+
import com.google.android.material.shape.MaterialShapeDrawable
8+
import com.owncloud.android.R
9+
10+
object DialogThemeUtils {
11+
fun colorMaterialAlertDialogBackground(context: Context, dialogBuilder: MaterialAlertDialogBuilder) {
12+
val materialShapeDrawable = MaterialShapeDrawable(
13+
context,
14+
null,
15+
androidx.appcompat.R.attr.alertDialogStyle,
16+
com.google.android.material.R.style.MaterialAlertDialog_MaterialComponents
17+
)
18+
materialShapeDrawable.initializeElevationOverlay(context)
19+
materialShapeDrawable.fillColor =
20+
ColorStateList.valueOf(context.resources.getColor(R.color.alert_bg_color, null))
21+
22+
// dialogCornerRadius first appeared in Android Pie
23+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
24+
val radius: Float =
25+
context.resources.getDimension(com.nextcloud.android.common.ui.R.dimen.dialogBorderRadius)
26+
materialShapeDrawable.setCornerSize(radius)
27+
}
28+
dialogBuilder.background = materialShapeDrawable
29+
}
30+
}

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import com.nextcloud.utils.extensions.navigateToAllFiles
8484
import com.nextcloud.utils.extensions.observeWorker
8585
import com.nextcloud.utils.fileNameValidator.FileNameValidator.checkFolderPath
8686
import com.nextcloud.utils.view.FastScrollUtils
87+
import com.nmc.android.utils.DialogThemeUtils
8788
import com.owncloud.android.MainApp
8889
import com.owncloud.android.R
8990
import com.owncloud.android.databinding.FilesBinding
@@ -352,7 +353,8 @@ class FileDisplayActivity :
352353
) { dialog: DialogInterface?, which: Int -> dialog?.dismiss() }
353354
.setIcon(R.drawable.ic_settings)
354355

355-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(applicationContext, builder)
356+
// NMC customization: customize dialog bg color
357+
DialogThemeUtils.colorMaterialAlertDialogBackground(applicationContext, builder)
356358

357359
builder.create().show()
358360
} catch (e: BadTokenException) {
@@ -2943,7 +2945,8 @@ class FileDisplayActivity :
29432945
showLoadingDialog(getString(R.string.retrieving_file))
29442946
}
29452947

2946-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(applicationContext, builder)
2948+
// NMC customization: customize dialog bg color
2949+
DialogThemeUtils.colorMaterialAlertDialogBackground(applicationContext, builder)
29472950

29482951
val dialog = builder.create()
29492952
dismissLoadingDialog()

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import com.nextcloud.utils.extensions.FileExtensionsKt;
5656
import com.nextcloud.utils.extensions.IntentExtensionsKt;
5757
import com.nextcloud.utils.fileNameValidator.FileNameValidator;
58+
import com.nmc.android.utils.DialogThemeUtils;
5859
import com.owncloud.android.MainApp;
5960
import com.owncloud.android.R;
6061
import com.owncloud.android.databinding.ReceiveExternalFilesBinding;
@@ -350,7 +351,8 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
350351
});
351352
builder.setNeutralButton(R.string.uploader_wrn_no_account_quit_btn_text,
352353
(dialog, which) -> requireActivity().finish());
353-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(requireContext(), builder);
354+
// NMC customization: customize dialog bg color
355+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(requireContext(), builder);
354356
return builder.create();
355357
}
356358
}

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

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import com.nextcloud.client.preferences.DarkMode;
5656
import com.nextcloud.utils.extensions.ContextExtensionsKt;
5757
import com.nextcloud.utils.mdm.MDMConfig;
58+
import com.nmc.android.utils.DialogThemeUtils;
5859
import com.owncloud.android.MainApp;
5960
import com.owncloud.android.R;
6061
import com.owncloud.android.authentication.AuthenticatorActivity;
@@ -540,7 +541,7 @@ private void removeE2E(PreferenceCategory preferenceCategoryMore) {
540541
}
541542

542543
private void showRemoveE2EAlertDialog(PreferenceCategory preferenceCategoryMore, Preference preference) {
543-
new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
544+
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
544545
.setTitle(R.string.prefs_e2e_mnemonic)
545546
.setMessage(getString(R.string.remove_e2e_message))
546547
.setCancelable(true)
@@ -555,8 +556,10 @@ private void showRemoveE2EAlertDialog(PreferenceCategory preferenceCategoryMore,
555556
}
556557

557558
dialog.dismiss();
558-
})
559-
.create()
559+
});
560+
// NMC customization: customize dialog bg color
561+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(this, builder);
562+
builder.create()
560563
.show();
561564
}
562565

@@ -1083,14 +1086,16 @@ public void handleMnemonicRequest(Intent data) {
10831086
}
10841087

10851088
private void showMnemonicAlertDialogDialog(String mnemonic) {
1086-
new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
1087-
.setTitle(R.string.prefs_e2e_mnemonic)
1089+
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
1090+
.setTitle(R.string.dialog_e2e_mnemonic_title)
10881091
.setMessage(mnemonic)
10891092
.setPositiveButton(R.string.common_ok, (dialog, which) -> dialog.dismiss())
10901093
.setNegativeButton(R.string.common_cancel, (dialog, i) -> dialog.dismiss())
10911094
.setNeutralButton(R.string.common_copy, (dialog, i) ->
1092-
ClipboardUtil.copyToClipboard(this, mnemonic, false))
1093-
.create()
1095+
ClipboardUtil.copyToClipboard(this, mnemonic, false));
1096+
// NMC customization: customize dialog bg color
1097+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(this, builder);
1098+
builder.create()
10941099
.show();
10951100
}
10961101

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

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

2121
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
2222
import com.nextcloud.client.account.User;
23+
import com.nmc.android.utils.DialogThemeUtils;
2324
import com.owncloud.android.MainApp;
2425
import com.owncloud.android.R;
2526
import com.owncloud.android.datamodel.FileDataStorageManager;
@@ -106,7 +107,8 @@ public static void a(ViewThemeUtils viewThemeUtils, Context context) {
106107

107108
});
108109

109-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(context, builder);
110+
// NMC customization: customize dialog bg color
111+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(context, builder);
110112

111113
AlertDialog alertDialog = builder.create();
112114

@@ -157,7 +159,8 @@ private void askToOverride() {
157159
progressDialog.getButton(ProgressDialog.BUTTON_POSITIVE).setVisibility(View.GONE);
158160
});
159161

160-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(mContext, builder);
162+
// NMC customization: customize dialog bg color
163+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(mContext, builder);
161164
builder.create().show();
162165
}
163166

@@ -250,7 +253,8 @@ private void askToStillMove() {
250253
}
251254
});
252255

253-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(mContext, builder);
256+
// NMC customization: customize dialog bg color
257+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(mContext, builder);
254258
builder.create().show();
255259
}
256260

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import com.nextcloud.client.jobs.NotificationWork
3434
import com.nextcloud.client.jobs.upload.FileUploadWorker
3535
import com.nextcloud.client.preferences.SubFolderRule
3636
import com.nextcloud.utils.BatteryOptimizationHelper
37+
import com.nmc.android.utils.DialogThemeUtils
3738
import com.nextcloud.utils.extensions.getParcelableArgument
3839
import com.nextcloud.utils.extensions.isDialogFragmentReady
3940
import com.nextcloud.utils.extensions.setVisibleIf
@@ -227,7 +228,8 @@ class SyncedFoldersActivity :
227228
.setTitle(R.string.autoupload_disable_power_save_check)
228229
.setMessage(getString(R.string.power_save_check_dialog_message))
229230

230-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(this, builder)
231+
// NMC customization
232+
DialogThemeUtils.colorMaterialAlertDialogBackground(this, builder)
231233

232234
return builder.create()
233235
}
@@ -854,7 +856,7 @@ class SyncedFoldersActivity :
854856
return
855857
}
856858

857-
val dialog = MaterialAlertDialogBuilder(this, R.style.Theme_ownCloud_Dialog)
859+
val dialog = MaterialAlertDialogBuilder(this)
858860
.setTitle(R.string.battery_optimization_title)
859861
.setMessage(R.string.battery_optimization_message)
860862
.setPositiveButton(R.string.battery_optimization_disable) { _, _ ->
@@ -863,11 +865,9 @@ class SyncedFoldersActivity :
863865
.setNeutralButton(R.string.battery_optimization_close, null)
864866
.setIcon(R.drawable.ic_battery_alert)
865867

866-
val alertDialog = dialog.show()
868+
// NMC customization
869+
DialogThemeUtils.colorMaterialAlertDialogBackground(this, dialog)
867870

868-
viewThemeUtils.platform.colorTextButtons(
869-
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE),
870-
alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)
871-
)
871+
dialog.show()
872872
}
873873
}

app/src/main/java/com/owncloud/android/ui/adapter/StoragePathAdapter.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ class StoragePathAdapter(
2929
val storagePathItem = pathList[position]
3030
holder.binding.btnStoragePath.setIconResource(storagePathItem.icon)
3131
holder.binding.btnStoragePath.text = storagePathItem.name
32-
viewThemeUtils.material.colorMaterialButtonPrimaryBorderless(holder.binding.btnStoragePath)
3332
}
3433
}
3534

0 commit comments

Comments
 (0)