Browse Source

partially color primary and primary_dark working

tobiasKaminsky 7 years ago
parent
commit
f951c199ef

+ 2 - 1
src/main/java/com/owncloud/android/media/MediaService.java

@@ -42,6 +42,7 @@ import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.ui.activity.FileActivity;
 import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.utils.DisplayUtils;
 
 import java.io.IOException;
 
@@ -228,7 +229,7 @@ public class MediaService extends Service implements OnCompletionListener, OnPre
 
         mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
         mNotificationBuilder = new NotificationCompat.Builder(this);
-        mNotificationBuilder.setColor(this.getResources().getColor(R.color.primary));
+        mNotificationBuilder.setColor(DisplayUtils.primaryColor());
         mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
         mBinder = new MediaServiceBinder(this);
     }

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

@@ -39,7 +39,6 @@ import android.support.annotation.ColorInt;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.design.widget.AppBarLayout;
-import android.support.v4.content.ContextCompat;
 import android.support.v4.graphics.drawable.DrawableCompat;
 import android.text.TextUtils;
 import android.view.Menu;
@@ -297,7 +296,7 @@ public class UserInfoActivity extends FileActivity {
         DisplayUtils.setAvatar(account, UserInfoActivity.this,
                 mCurrentAccountAvatarRadiusDimension, getResources(), getStorageManager(),avatar);
 
-        int tint = ContextCompat.getColor(this, R.color.primary);
+        int tint = DisplayUtils.primaryColor();
 
         if (userInfo != null) {
             if (!TextUtils.isEmpty(userInfo.getDisplayName())) {

+ 1 - 1
src/main/java/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -335,7 +335,7 @@ public class FileListListAdapter extends BaseAdapter {
                 if (parentList.isItemChecked(position)) {
                     view.setBackgroundColor(mContext.getResources().getColor(R.color.selected_item_background));
                     checkBoxV.setImageDrawable(DisplayUtils.tintDrawable(R.drawable.ic_checkbox_marked,
-                            R.color.primary));
+                            DisplayUtils.primaryColor()));
                 } else {
                     view.setBackgroundColor(Color.WHITE);
                     checkBoxV.setImageResource(R.drawable.ic_checkbox_blank_outline);

+ 1 - 1
src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java

@@ -646,7 +646,7 @@ public class ExtendedListFragment extends Fragment
                     mEmptyListHeadline.setText(headline);
                     mEmptyListMessage.setText(message);
 
-                    mEmptyListIcon.setImageDrawable(DisplayUtils.tintDrawable(icon, R.color.primary));
+                    mEmptyListIcon.setImageDrawable(DisplayUtils.tintDrawable(icon, DisplayUtils.primaryColor()));
 
                     mEmptyListIcon.setVisibility(View.VISIBLE);
                     mEmptyListProgress.setVisibility(View.GONE);

+ 2 - 2
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -175,9 +175,9 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
         super.onCreate(savedInstanceState);
         setHasOptionsMenu(true);
         mSystemBarActionModeColor = getResources().getColor(R.color.action_mode_status_bar_background);
-        mSystemBarColor = getResources().getColor(R.color.primary_dark);
+        mSystemBarColor = DisplayUtils.primaryDarkColor();
         mProgressBarActionModeColor = getResources().getColor(R.color.action_mode_background);
-        mProgressBarColor = getResources().getColor(R.color.primary);
+        mProgressBarColor = DisplayUtils.primaryColor();
         mMultiChoiceModeListener = new MultiChoiceModeListener();
 
         if (savedInstanceState != null) {

+ 32 - 11
src/main/java/com/owncloud/android/utils/DisplayUtils.java

@@ -39,7 +39,6 @@ import android.graphics.drawable.PictureDrawable;
 import android.net.Uri;
 import android.os.Build;
 import android.support.annotation.ColorInt;
-import android.support.annotation.ColorRes;
 import android.support.annotation.DrawableRes;
 import android.support.annotation.NonNull;
 import android.support.design.widget.BottomNavigationView;
@@ -47,6 +46,7 @@ import android.support.design.widget.Snackbar;
 import android.support.v4.app.FragmentActivity;
 import android.support.v4.content.ContextCompat;
 import android.support.v4.content.res.ResourcesCompat;
+import android.support.v4.graphics.ColorUtils;
 import android.support.v4.graphics.drawable.DrawableCompat;
 import android.text.Spannable;
 import android.text.SpannableStringBuilder;
@@ -705,18 +705,10 @@ public class DisplayUtils {
         }
     }
 
-    public static Drawable tintDrawable(@DrawableRes int id, @ColorRes int color) {
-        int colorToUse = MainApp.getAppContext().getResources().getColor(color);
-
-        OCCapability capability = getCapability();
-
-        if (!capability.getServerColor().isEmpty()) {
-            colorToUse = Color.parseColor(capability.getServerColor());
-        }
-
+    public static Drawable tintDrawable(@DrawableRes int id, int color) {
         Drawable drawable = ResourcesCompat.getDrawable(MainApp.getAppContext().getResources(), id, null);
         drawable = DrawableCompat.wrap(drawable);
-        DrawableCompat.setTint(drawable, colorToUse);
+        DrawableCompat.setTint(drawable, color);
         return drawable;
     }
 
@@ -730,4 +722,33 @@ public class DisplayUtils {
         }
     }
 
+    public static int adjustLightness(float lightnessDelta, int color) {
+        float[] hsl = new float[3];
+        ColorUtils.RGBToHSL(Color.red(color), Color.green(color), Color.blue(color), hsl);
+
+        hsl[2] += lightnessDelta;
+
+        return ColorUtils.HSLToColor(hsl);
+    }
+
+    public static int primaryDarkColor() {
+        OCCapability capability = getCapability();
+
+        if (!capability.getServerColor().isEmpty()) {
+            return adjustLightness(-0.2f, Color.parseColor(capability.getServerColor()));
+        } else {
+            return MainApp.getAppContext().getResources().getColor(R.color.primary_dark);
+        }
+    }
+
+    public static int primaryColor() {
+        OCCapability capability = getCapability();
+
+        if (!capability.getServerColor().isEmpty()) {
+            return Color.parseColor(capability.getServerColor());
+        } else {
+            return MainApp.getAppContext().getResources().getColor(R.color.primary);
+        }
+    }
+
 }

+ 1 - 1
src/main/java/com/owncloud/android/utils/MimeTypeUtil.java

@@ -106,7 +106,7 @@ public class MimeTypeUtil {
             drawableId = R.drawable.ic_menu_archive;
         }
 
-        return DisplayUtils.tintDrawable(drawableId, R.color.primary);
+        return DisplayUtils.tintDrawable(drawableId, DisplayUtils.primaryColor());
     }
 
     public static Drawable getDefaultFolderIcon() {