Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-04-17 12:23:55 +0300
committerStefan Niedermann <info@niedermann.it>2020-04-17 12:23:55 +0300
commitb19c751d70b65a3564e686de4366745091a7822c (patch)
treec0c53ea8a59a1de39361a58385b4961601c30a77 /app
parent2f588273d6fb9789a22bff32209bd08a2e49a265 (diff)
Try to switch themes for influencing edittext in toolbar
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app')
-rw-r--r--app/src/main/AndroidManifest.xml14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/Application.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedActivity.java1
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java2
-rw-r--r--app/src/main/res/layout/activity_edit.xml2
-rw-r--r--app/src/main/res/values/attrs.xml1
-rw-r--r--app/src/main/res/values/styles.xml34
11 files changed, 39 insertions, 27 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 432c2da98..1afa1dbe1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -19,7 +19,7 @@
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
- android:theme="@style/AppTheme"
+ android:theme="@style/LightThemeDarkBrand"
tools:ignore="GoogleAppIndexingWarning"
tools:targetApi="q">
@@ -60,7 +60,7 @@
android:name=".ui.card.EditActivity"
android:label="@string/edit"
android:parentActivityName="it.niedermann.nextcloud.deck.ui.MainActivity"
- android:theme="@style/AppTheme" />
+ android:theme="@style/LightThemeDarkBrand" />
<activity
android:name=".ui.attachments.AttachmentsActivity"
@@ -71,28 +71,28 @@
android:name=".ui.settings.SettingsActivity"
android:label="@string/simple_settings"
android:parentActivityName="it.niedermann.nextcloud.deck.ui.MainActivity"
- android:theme="@style/AppTheme" />
+ android:theme="@style/LightThemeDarkBrand" />
<activity
android:name=".ui.ImportAccountActivity"
android:label="@string/app_name"
- android:theme="@style/AppTheme" />
+ android:theme="@style/LightThemeDarkBrand" />
<activity
android:name=".ui.preparecreate.PrepareCreateActivity"
android:label="@string/simple_select"
- android:theme="@style/AppTheme" />
+ android:theme="@style/LightThemeDarkBrand" />
<activity
android:name=".ui.about.AboutActivity"
android:label="@string/about"
android:parentActivityName="it.niedermann.nextcloud.deck.ui.MainActivity"
- android:theme="@style/AppTheme" />
+ android:theme="@style/LightThemeDarkBrand" />
<activity
android:name=".ui.PushNotificationActivity"
android:label="@string/app_name"
- android:theme="@style/AppTheme">
+ android:theme="@style/LightThemeDarkBrand">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/Application.java b/app/src/main/java/it/niedermann/nextcloud/deck/Application.java
index 8ee0a10fa..f05fdef5f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/Application.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/Application.java
@@ -55,11 +55,11 @@ public class Application extends android.app.Application {
// Day / Night theme
// -----------------
- public static void setAppTheme(Boolean darkTheme) {
+ public static void setAppTheme(boolean darkTheme) {
setDefaultNightMode(darkTheme ? MODE_NIGHT_YES : MODE_NIGHT_NO);
}
- public static boolean getAppTheme(Context context) {
+ public static boolean getAppTheme(@NonNull Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getBoolean(context.getString(R.string.pref_key_dark_theme), false);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
index 950e0011b..bede5efdd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
@@ -151,7 +151,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
super.onCreate(savedInstanceState);
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
- setTheme(Application.getAppTheme(this) ? R.style.DarkAppTheme : R.style.AppTheme);
+ setTheme(Application.getAppTheme(this) ? R.style.DarkThemeDarkBrand : R.style.LightThemeDarkBrand);
binding = ActivityMainBinding.inflate(getLayoutInflater());
headerBinding = NavHeaderMainBinding.bind(binding.navigationView.getHeaderView(0));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java
index 27dddabab..781826660 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java
@@ -31,7 +31,7 @@ public class AboutActivity extends BrandedActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
- setTheme(Application.getAppTheme(this) ? R.style.DarkAppTheme : R.style.AppTheme);
+ setTheme(Application.getAppTheme(this) ? R.style.DarkThemeDarkBrand : R.style.LightThemeDarkBrand);
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedActivity.java
index 9b2e4d224..062825047 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedActivity.java
@@ -63,6 +63,7 @@ public abstract class BrandedActivity extends AppCompatActivity implements Brand
public void applyBrand(@ColorInt int mainColor, @ColorInt int textColor) {
this.textColor = textColor;
applyBrandToStatusbar(getWindow(), mainColor, textColor);
+ setTheme(isColorDark(mainColor) ? R.style.LightThemeDarkBrand : R.style.LightThemeLightBrand);
}
@Override
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
index b4e8dbc1f..c72c9feda 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
@@ -101,7 +101,7 @@ public class EditActivity extends BrandedActivity implements CardDetailsListener
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this));
- setTheme(Application.getAppTheme(this) ? R.style.DarkAppTheme : R.style.AppTheme);
+ setTheme(Application.getAppTheme(this) ? R.style.DarkThemeDarkBrand : R.style.LightThemeDarkBrand);
binding = ActivityEditBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
index 21c4eb7ed..7ececd17f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
@@ -99,7 +99,7 @@ public class PrepareCreateActivity extends BrandedActivity {
super.onCreate(savedInstanceState);
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
- setTheme(Application.getAppTheme(this) ? R.style.DarkAppTheme : R.style.AppTheme);
+ setTheme(Application.getAppTheme(this) ? R.style.DarkThemeDarkBrand : R.style.LightThemeDarkBrand);
brandingEnabled = getResources().getBoolean(R.bool.enable_brand);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java
index 32a9a1849..9ad8ac845 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java
@@ -16,7 +16,7 @@ public class SettingsActivity extends BrandedActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
- setTheme(Application.getAppTheme(this) ? R.style.DarkAppTheme : R.style.AppTheme);
+ setTheme(Application.getAppTheme(this) ? R.style.DarkThemeDarkBrand : R.style.LightThemeDarkBrand);
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this));
diff --git a/app/src/main/res/layout/activity_edit.xml b/app/src/main/res/layout/activity_edit.xml
index 1ae29b930..d2f9b103e 100644
--- a/app/src/main/res/layout/activity_edit.xml
+++ b/app/src/main/res/layout/activity_edit.xml
@@ -20,7 +20,7 @@
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:theme="@style/AppTheme.EditText"
+ app:theme="@style/EditTextOnPrimaryBackground"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:importantForAutofill="no"
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 715f8b814..0ccfa00b7 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -8,4 +8,5 @@
<attr name="description" format="string" />
<attr name="image" format="reference" />
</declare-styleable>
+ <attr name="editTextForegroundOnPrimaryBackground" format="reference"/>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index bec19f14b..ec16220f6 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,37 +1,47 @@
<resources xmlns:tools="http://schemas.android.com/tools">
- <!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar.Bridge">
+ <!-- Default is a light theme with the dark blue brand -->
+ <style name="LightThemeDarkBrand" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary</item>
<item name="colorAccent">@color/primary</item>
+ <item name="editTextForegroundOnPrimaryBackground">@android:color/white</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:elevation" tools:targetApi="lollipop">@null</item>
- <item name="windowActionBar">false</item>
- <item name="windowNoTitle">true</item>
</style>
- <style name="AppTheme.EditText" parent="ThemeOverlay.MaterialComponents.Dark">
- <item name="colorControlNormal">@android:color/white</item>
- <item name="colorControlActivated">@android:color/white</item>
- <item name="colorControlHighlight">@android:color/white</item>
+ <!-- This is a light theme with a bright brand color like yellow -->
+ <style name="LightThemeLightBrand" parent="LightThemeDarkBrand">
+ <item name="editTextForegroundOnPrimaryBackground">@android:color/black</item>
</style>
- <style name="DarkAppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
+ <!-- Enabled dark mode with a dark brand like the default Nextcloud blue -->
+ <style name="DarkThemeDarkBrand" parent="Theme.MaterialComponents.NoActionBar.Bridge">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary</item>
<item name="colorAccent">@color/primary</item>
+ <item name="editTextForegroundOnPrimaryBackground">@android:color/white</item>
<item name="android:textColor">@color/fg_secondary</item>
<item name="android:textViewStyle">@style/DarkTextView</item>
- <item name="windowActionBar">false</item>
- <item name="windowNoTitle">true</item>
+ </style>
+
+ <!-- Enabled dark mode with a bright brand color like yellow -->
+ <style name="DarkThemeLightBrand" parent="DarkThemeDarkBrand">
+ <item name="editTextForegroundOnPrimaryBackground">@android:color/black</item>
+ </style>
+
+ <!-- This styles an EditText which is on a primary background like in the toolbar -->
+ <style name="EditTextOnPrimaryBackground" parent="ThemeOverlay.MaterialComponents.Dark">
+ <item name="colorControlNormal">?editTextForegroundOnPrimaryBackground</item>
+ <item name="colorControlActivated">?editTextForegroundOnPrimaryBackground</item>
+ <item name="colorControlHighlight">?editTextForegroundOnPrimaryBackground</item>
</style>
<style name="DarkTextView" parent="Widget.AppCompat.TextView">
<item name="android:textColor">@color/dark_fg_primary</item>
</style>
- <style name="SplashTheme" parent="AppTheme">
+ <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>