Browse Source

ContactListBackup

tobiasKaminsky 7 years ago
parent
commit
a0b1f4d0f5

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

@@ -163,7 +163,7 @@ public class EditShareFragment extends Fragment {
             int accentColor = DisplayUtils.primaryAccentColor();
 
             SwitchCompat shareSwitch = (SwitchCompat) editShareView.findViewById(R.id.canShareSwitch);
-            DisplayUtils.tintSwitch(shareSwitch, accentColor);
+            DisplayUtils.tintSwitch(shareSwitch, accentColor, true);
 
             if (isFederated) {
                 shareSwitch.setVisibility(View.INVISIBLE);
@@ -171,7 +171,7 @@ public class EditShareFragment extends Fragment {
             shareSwitch.setChecked((sharePermissions & OCShare.SHARE_PERMISSION_FLAG) > 0);
 
             SwitchCompat switchCompat = (SwitchCompat) editShareView.findViewById(R.id.canEditSwitch);
-            DisplayUtils.tintSwitch(switchCompat, accentColor);
+            DisplayUtils.tintSwitch(switchCompat, accentColor, true);
             int anyUpdatePermission = OCShare.CREATE_PERMISSION_FLAG | OCShare.UPDATE_PERMISSION_FLAG |
                     OCShare.DELETE_PERMISSION_FLAG;
             boolean canEdit = (sharePermissions & anyUpdatePermission) > 0;

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

@@ -274,7 +274,7 @@ public class ShareFileFragment extends Fragment implements ShareUserListAdapter.
     private void initShareViaLinkListener(View shareView) {
         mOnShareViaLinkSwitchCheckedChangeListener = new OnShareViaLinkListener();
         SwitchCompat shareViaLinkSwitch = (SwitchCompat) shareView.findViewById(R.id.shareViaLinkSectionSwitch);
-        DisplayUtils.tintSwitch(shareViaLinkSwitch, DisplayUtils.primaryAccentColor());
+        DisplayUtils.tintSwitch(shareViaLinkSwitch, DisplayUtils.primaryAccentColor(), true);
         shareViaLinkSwitch.setOnCheckedChangeListener(mOnShareViaLinkSwitchCheckedChangeListener);
     }
 

+ 25 - 1
src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactListFragment.java

@@ -31,7 +31,9 @@ import android.content.IntentFilter;
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.graphics.PorterDuff;
 import android.os.AsyncTask;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.provider.ContactsContract;
@@ -53,10 +55,10 @@ import android.widget.Button;
 import android.widget.CheckedTextView;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
-import android.widget.Toast;
 import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.evernote.android.job.JobRequest;
 import com.evernote.android.job.util.support.PersistableBundleCompat;
@@ -71,6 +73,7 @@ import com.owncloud.android.ui.activity.ContactsPreferenceActivity;
 import com.owncloud.android.ui.events.VCardToggleEvent;
 import com.owncloud.android.ui.fragment.FileFragment;
 import com.owncloud.android.utils.BitmapUtils;
+import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.PermissionUtil;
 
 import org.greenrobot.eventbus.EventBus;
@@ -217,6 +220,8 @@ public class ContactListFragment extends FileFragment {
             }
         });
 
+        restoreContacts.setTextColor(DisplayUtils.primaryAccentColor());
+
         return view;
     }
 
@@ -313,6 +318,7 @@ public class ContactListFragment extends FileFragment {
             badge = (ImageView) itemView.findViewById(R.id.contactlist_item_icon);
             name = (CheckedTextView) itemView.findViewById(R.id.contactlist_item_name);
 
+
             itemView.setTag(this);
         }
 
@@ -616,8 +622,17 @@ class ContactListAdapter extends RecyclerView.Adapter<ContactListFragment.Contac
 
             if (checkedVCards.contains(position)) {
                 holder.getName().setChecked(true);
+
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+                    holder.getName().getCheckMarkDrawable()
+                            .setColorFilter(DisplayUtils.primaryAccentColor(), PorterDuff.Mode.SRC_ATOP);
+                }
             } else {
                 holder.getName().setChecked(false);
+
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+                    holder.getName().getCheckMarkDrawable().clearColorFilter();
+                }
             }
 
             holder.getName().setText(getDisplayName(vcard));
@@ -651,6 +666,11 @@ class ContactListAdapter extends RecyclerView.Adapter<ContactListFragment.Contac
                     holder.getName().setChecked(!holder.getName().isChecked());
 
                     if (holder.getName().isChecked()) {
+                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+                            holder.getName().getCheckMarkDrawable()
+                                    .setColorFilter(DisplayUtils.primaryAccentColor(), PorterDuff.Mode.SRC_ATOP);
+                        }
+
                         if (!checkedVCards.contains(verifiedPosition)) {
                             checkedVCards.add(verifiedPosition);
                         }
@@ -658,6 +678,10 @@ class ContactListAdapter extends RecyclerView.Adapter<ContactListFragment.Contac
                             EventBus.getDefault().post(new VCardToggleEvent(true));
                         }
                     } else {
+                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+                            holder.getName().getCheckMarkDrawable().clearColorFilter();
+                        }
+
                         if (checkedVCards.contains(verifiedPosition)) {
                             checkedVCards.remove(verifiedPosition);
                         }

+ 19 - 0
src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java

@@ -24,6 +24,7 @@ import android.Manifest;
 import android.accounts.Account;
 import android.app.DatePickerDialog;
 import android.content.DialogInterface;
+import android.graphics.PorterDuff;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
@@ -77,6 +78,9 @@ public class ContactsBackupFragment extends FileFragment implements DatePickerDi
     @BindView(R.id.contacts_header_restore)
     public TextView contactsRestoreHeader;
 
+    @BindView(R.id.contacts_header_backup)
+    public TextView contactsBackupHeader;
+
     @BindView(R.id.contacts_datepicker)
     public AppCompatButton contactsDatePickerBtn;
 
@@ -115,6 +119,7 @@ public class ContactsBackupFragment extends FileFragment implements DatePickerDi
 
         arbitraryDataProvider = new ArbitraryDataProvider(getContext().getContentResolver());
 
+        DisplayUtils.tintSwitch(backupSwitch, DisplayUtils.primaryAccentColor());
         backupSwitch.setChecked(arbitraryDataProvider.getBooleanValue(account, PREFERENCE_CONTACTS_AUTOMATIC_BACKUP));
 
         onCheckedChangeListener = new CompoundButton.OnCheckedChangeListener() {
@@ -151,6 +156,14 @@ public class ContactsBackupFragment extends FileFragment implements DatePickerDi
             calendarPickerOpen = true;
         }
 
+        int accentColor = DisplayUtils.primaryAccentColor();
+        contactsDatePickerBtn.getBackground().setColorFilter(accentColor, PorterDuff.Mode.SRC_ATOP);
+        view.findViewById(R.id.contacts_backup_now).getBackground()
+                .setColorFilter(accentColor, PorterDuff.Mode.SRC_ATOP);
+
+        contactsRestoreHeader.setTextColor(accentColor);
+        contactsBackupHeader.setTextColor(accentColor);
+
         return view;
     }
 
@@ -399,6 +412,9 @@ public class ContactsBackupFragment extends FileFragment implements DatePickerDi
             datePickerDialog.getDatePicker().setMaxDate(backupFiles.lastElement().getModificationTimestamp());
             datePickerDialog.getDatePicker().setMinDate(backupFiles.firstElement().getModificationTimestamp());
 
+            int accentColor = DisplayUtils.primaryAccentColor();
+
+
             datePickerDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                 @Override
                 public void onDismiss(DialogInterface dialog) {
@@ -407,6 +423,9 @@ public class ContactsBackupFragment extends FileFragment implements DatePickerDi
             });
 
             datePickerDialog.show();
+
+            datePickerDialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(accentColor);
+            datePickerDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(accentColor);
         } else {
             Toast.makeText(contactsPreferenceActivity, R.string.contacts_preferences_something_strange_happened,
                     Toast.LENGTH_SHORT).show();

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

@@ -730,7 +730,13 @@ public class DisplayUtils {
     }
 
     public static void tintSwitch(SwitchCompat switchView, int color) {
-        switchView.setTextColor(color);
+        tintSwitch(switchView, color, false);
+    }
+
+    public static void tintSwitch(SwitchCompat switchView, int color, boolean colorText) {
+        if (colorText) {
+            switchView.setTextColor(color);
+        }
 
         int trackColor = Color.argb(77, Color.red(color), Color.green(color), Color.blue(color));