Pārlūkot izejas kodu

Dark Mode Improvements (2)

* Fix list divider in upload file dialog
* The drawer account chooser toggle reacts to dark server themes
* ic_people in the file list changes depending on device dark mode

Signed-off-by: Daniel Bailey <daniel.bailey@grappleIT.co.uk>
Daniel Bailey 5 gadi atpakaļ
vecāks
revīzija
4b464e1f54

+ 1 - 1
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -302,7 +302,7 @@ public abstract class DrawerActivity extends ToolbarActivity
         mAccountEndAccountAvatar = (ImageView) findNavigationViewChildById(R.id.drawer_account_end);
 
         mAccountChooserToggle = (ImageView) findNavigationViewChildById(R.id.drawer_account_chooser_toggle);
-        mAccountChooserToggle.setColorFilter(ThemeUtils.fontColor(this, true));
+        mAccountChooserToggle.setColorFilter(ThemeUtils.fontColor(this, !ThemeUtils.darkTheme(getApplicationContext())));
 
         if (getResources().getBoolean(R.bool.allow_profile_click)) {
             mAccountChooserToggle.setImageResource(R.drawable.ic_down);

+ 4 - 0
src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

@@ -428,6 +428,7 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
 
                         if (i == 0 && sharees.size() > 3) {
                             avatar.setImageResource(R.drawable.ic_people);
+                            ThemeUtils.setIconColor(avatar.getDrawable());
                         } else {
                             if (sharee.getShareType().equals(ShareType.GROUP)) {
                                 try {
@@ -436,9 +437,12 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
                                 } catch (Exception e) {
                                     Log_OC.e(TAG, "Error calculating RGB value for active account icon.", e);
                                     avatar.setImageResource(R.drawable.ic_people);
+                                    ThemeUtils.setIconColor(avatar.getDrawable());
                                 }
                             } else if (sharee.getShareType().equals(ShareType.CIRCLE)) {
                                 avatar.setImageResource(R.drawable.ic_circles);
+                                ThemeUtils.setIconColor(avatar.getDrawable());
+
                             } else if (sharee.getUserId().contains("@")) {
                                 showFederatedShareAvatar(sharee.getUserId(), avatarRadius, resources, avatar);
                             } else {

+ 8 - 0
src/main/java/com/owncloud/android/utils/ThemeUtils.java

@@ -627,6 +627,14 @@ public final class ThemeUtils {
         }
     }
 
+    public static Drawable setIconColor(Drawable drawable) {
+        int color = Color.BLACK;
+        if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES) {
+            color = Color.WHITE;
+        }
+        return tintDrawable(drawable, color);
+    }
+
     /**
      * Lifted from SO.
      * FindBugs surpressed because of lack of public API to alter the cursor color.

+ 1 - 1
src/main/res/values-night/colors.xml

@@ -22,6 +22,7 @@
 
     <color name="text_color">#ffffff</color>
     <color name="text_color_inverse">#000000</color>
+    <color name="list_divider_background">#222</color>
 
     <!-- Colors -->
     <color name="bg_default">#151515</color>
@@ -41,5 +42,4 @@
     <color name="switch_thumb_color_unchecked">#2a2a2a</color>
     <color name="switch_track_color_unchecked">#B3FFFFFF</color>
     <color name="drawer_active_item_background">@color/white</color>
-
 </resources>