Browse Source

Add favorite buttons

Mario Danic 8 years ago
parent
commit
aa53f63197

+ 1 - 1
automationTest/src/test/java/com/owncloud/android/test/ui/models/FileListView.java

@@ -89,7 +89,7 @@ public class FileListView {
 	private static String localFileIndicator = 
 			"com.owncloud.android:id/localFileIndicator";
 	private static String favoriteFileIndicator = 
-			"com.owncloud.android:id/favoriteIcon";
+			"com.owncloud.android:id/keptOfflineIcon";
 	private static String sharedElementIndicator = 
 			"com.owncloud.android:id/sharedIcon";
 	

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

@@ -210,6 +210,7 @@ public class FileListListAdapter extends BaseAdapter {
                     lastModV.setText(DisplayUtils.getRelativeTimestamp(mContext, file.getModificationTimestamp()));
 
 
+
                     fileSizeSeparatorV.setVisibility(View.VISIBLE);
                     fileSizeV.setVisibility(View.VISIBLE);
                     fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));
@@ -306,9 +307,15 @@ public class FileListListAdapter extends BaseAdapter {
             // this if-else is needed even though kept-in-sync icon is visible by default
             // because android reuses views in listview
             if (!file.isAvailableOffline()) {
-                view.findViewById(R.id.favoriteIcon).setVisibility(View.GONE);
+                view.findViewById(R.id.keptOfflineIcon).setVisibility(View.GONE);
+            } else {
+                view.findViewById(R.id.keptOfflineIcon).setVisibility(View.VISIBLE);
+            }
+
+            if (file.getIsFavorite()) {
+                view.findViewById(R.id.favorite_action).setSelected(true);
             } else {
-                view.findViewById(R.id.favoriteIcon).setVisibility(View.VISIBLE);
+                view.findViewById(R.id.favorite_action).setSelected(false);
             }
 
             // No Folder

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

@@ -241,7 +241,7 @@ public class LocalFileListAdapter extends BaseAdapter implements FilterableListA
 
             // not GONE; the alignment changes; ugly way to keep it
             view.findViewById(R.id.localFileIndicator).setVisibility(View.INVISIBLE);   
-            view.findViewById(R.id.favoriteIcon).setVisibility(View.GONE);
+            view.findViewById(R.id.keptOfflineIcon).setVisibility(View.GONE);
             
             view.findViewById(R.id.sharedIcon).setVisibility(View.GONE);
         }

+ 6 - 0
src/main/res/drawable/favorite_button_selector.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/ic_favorite" android:state_selected="true"></item>
+    <item android:drawable="@drawable/ic_favorite" android:state_pressed="true"></item>
+    <item android:drawable="@drawable/ic_favorite_grey"></item>
+</selector>

+ 11 - 2
src/main/res/layout/grid_image.xml

@@ -38,11 +38,20 @@
             android:scaleType="centerCrop"
             android:src="@drawable/ic_menu_archive"/>
 
+        <Button
+            android:id="@+id/favorite_action"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_marginStart="6dp"
+            android:layout_marginEnd="6dp"
+            android:layout_gravity="bottom|start"
+            android:background="@drawable/favorite_button_selector"/>
+
         <ImageView
             android:id="@+id/sharedIcon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_gravity="top|right"
+            android:layout_gravity="end|right"
             android:layout_margin="@dimen/standard_quarter_margin"
             android:src="@drawable/shared_via_link" />
 
@@ -57,7 +66,7 @@
             android:src="@drawable/ic_synced" />
 
         <ImageView
-            android:id="@+id/favoriteIcon"
+            android:id="@+id/keptOfflineIcon"
             android:layout_width="@dimen/favorite_icon_size"
             android:layout_height="@dimen/favorite_icon_size"
             android:layout_gravity="bottom|right"

+ 10 - 1
src/main/res/layout/grid_item.xml

@@ -39,6 +39,15 @@
             android:layout_marginRight="@dimen/alternate_margin"
             android:src="@drawable/ic_menu_archive" />
 
+        <Button
+            android:id="@+id/favorite_action"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_marginStart="6dp"
+            android:layout_marginEnd="6dp"
+            android:layout_gravity="top|left"
+            android:background="@drawable/favorite_button_selector"/>
+
         <ImageView
             android:id="@+id/sharedIcon"
             android:layout_width="wrap_content"
@@ -57,7 +66,7 @@
             android:src="@drawable/ic_synced" />
 
         <ImageView
-            android:id="@+id/favoriteIcon"
+            android:id="@+id/keptOfflineIcon"
             android:layout_width="@dimen/favorite_icon_size"
             android:layout_height="@dimen/favorite_icon_size"
             android:layout_gravity="bottom|right"

+ 11 - 2
src/main/res/layout/list_item.xml

@@ -29,10 +29,19 @@
         android:layout_height="match_parent"
         android:orientation="horizontal">
 
+        <Button
+            android:id="@+id/favorite_action"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_marginStart="6dp"
+            android:layout_marginEnd="6dp"
+            android:layout_gravity="center_vertical"
+            android:background="@drawable/favorite_button_selector"
+            />
+
         <FrameLayout
             android:layout_width="60dp"
             android:layout_height="@dimen/standard_list_item_size"
-            android:paddingLeft="12dp"
             android:paddingBottom="@dimen/standard_padding"
             android:paddingTop="@dimen/standard_padding"
             android:paddingRight="4dp"
@@ -55,7 +64,7 @@
                 android:src="@drawable/ic_menu_archive" />
 
             <ImageView
-                android:id="@+id/favoriteIcon"
+                android:id="@+id/keptOfflineIcon"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="bottom|right"