Browse Source

Merge pull request #6 from icanit/master

UI Impovements
inorichi 9 years ago
parent
commit
8b6f7fc860

+ 7 - 0
app/src/main/java/eu/kanade/mangafeed/ui/catalogue/CatalogueAdapter.java

@@ -49,6 +49,7 @@ public class CatalogueAdapter extends ArrayAdapter<Manga> {
         @Bind(R.id.title) TextView title;
         @Bind(R.id.author) TextView author;
         @Bind(R.id.thumbnail) ImageView thumbnail;
+        @Bind(R.id.favorite_sticker) ImageView favorite_sticker;
 
         CatalogueFragment fragment;
 
@@ -73,6 +74,12 @@ public class CatalogueAdapter extends ArrayAdapter<Manga> {
             } else {
                 thumbnail.setImageResource(android.R.color.transparent);
             }
+
+            if(manga.favorite){
+                favorite_sticker.setVisibility(View.VISIBLE);
+            }else{
+                favorite_sticker.setVisibility(View.INVISIBLE);
+            }
         }
     }
 }

+ 12 - 18
app/src/main/java/eu/kanade/mangafeed/ui/manga/chapter/ChaptersFragment.java

@@ -15,6 +15,7 @@ import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.CheckBox;
+import android.widget.ImageView;
 
 import java.util.List;
 
@@ -39,9 +40,10 @@ public class ChaptersFragment extends BaseRxFragment<ChaptersPresenter> implemen
     @Bind(R.id.swipe_refresh) SwipeRefreshLayout swipeRefresh;
     @Bind(R.id.toolbar_bottom) Toolbar toolbarBottom;
 
-    private MenuItem sortUpBtn;
-    private MenuItem sortDownBtn;
-    private CheckBox readCb;
+    @Bind(R.id.action_sort) ImageView sortBtn;
+    @Bind(R.id.action_next_unread) ImageView nextUnreadBtn;
+    @Bind(R.id.action_show_unread) CheckBox readCb;
+    @Bind(R.id.action_show_downloaded) CheckBox downloadedCb;
 
     private ChaptersAdapter adapter;
 
@@ -69,20 +71,11 @@ public class ChaptersFragment extends BaseRxFragment<ChaptersPresenter> implemen
         createAdapter();
         setSwipeRefreshListener();
 
-        toolbarBottom.inflateMenu(R.menu.chapter_filter);
-
-        sortUpBtn = toolbarBottom.getMenu().findItem(R.id.action_sort_up);
-        sortDownBtn = toolbarBottom.getMenu().findItem(R.id.action_sort_down);
-        readCb = (CheckBox) toolbarBottom.findViewById(R.id.action_show_unread);
         readCb.setOnCheckedChangeListener((arg, isCheked) -> getPresenter().setReadFilter(isCheked));
-        toolbarBottom.setOnMenuItemClickListener(arg0 -> {
-            switch (arg0.getItemId()) {
-                case R.id.action_sort_up:
-                case R.id.action_sort_down:
-                    getPresenter().revertSortOrder();
-                    return true;
-            }
-            return false;
+        sortBtn.setOnClickListener(v->getPresenter().revertSortOrder());
+        nextUnreadBtn.setOnClickListener(v->{
+            getPresenter().onChapterClicked(getPresenter().getNextUnreadChapter());
+            startActivity(ReaderActivity.newIntent(getActivity()));
         });
         return view;
     }
@@ -247,8 +240,9 @@ public class ChaptersFragment extends BaseRxFragment<ChaptersPresenter> implemen
     }
 
     public void setSortIcon(boolean aToZ) {
-        if (sortUpBtn != null) sortUpBtn.setVisible(aToZ);
-        if (sortDownBtn != null) sortDownBtn.setVisible(!aToZ);
+        if (sortBtn != null) {
+            sortBtn.setImageResource(!aToZ ? R.drawable.ic_expand_less_white_36dp : R.drawable.ic_expand_more_white_36dp);
+        }
     }
 
     public void setReadFilter(boolean onlyUnread) {

+ 8 - 1
app/src/main/java/eu/kanade/mangafeed/ui/manga/chapter/ChaptersPresenter.java

@@ -1,7 +1,6 @@
 package eu.kanade.mangafeed.ui.manga.chapter;
 
 import android.os.Bundle;
-import android.support.v7.widget.RecyclerView;
 
 import java.io.File;
 import java.util.List;
@@ -122,6 +121,14 @@ public class ChaptersPresenter extends BasePresenter<ChaptersFragment> {
         EventBus.getDefault().postSticky(new SourceMangaChapterEvent(source, manga, chapter));
     }
 
+    public Chapter getNextUnreadChapter() {
+        List<Chapter> chapters = db.getNextUnreadChapter(manga).executeAsBlocking();
+        if(chapters.size() < 1){
+            return null;
+        }
+        return chapters.get(0);
+    }
+
     public void markChaptersRead(Observable<Chapter> selectedChapters, boolean read) {
         add(markReadSubscription = selectedChapters
                 .subscribeOn(Schedulers.io())

BIN
app/src/main/res/drawable-hdpi/ic_action_favorite_blue.png


BIN
app/src/main/res/drawable-hdpi/ic_play_arrow_white_36dp.png


BIN
app/src/main/res/drawable-mdpi/ic_action_favorite_blue.png


BIN
app/src/main/res/drawable-mdpi/ic_play_arrow_white_36dp.png


BIN
app/src/main/res/drawable-xhdpi/ic_action_favorite_blue.png


BIN
app/src/main/res/drawable-xhdpi/ic_play_arrow_white_36dp.png


BIN
app/src/main/res/drawable-xxhdpi/ic_action_favorite_blue.png


BIN
app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_36dp.png


BIN
app/src/main/res/drawable-xxxhdpi/ic_action_favorite_blue.png


BIN
app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_36dp.png


+ 67 - 4
app/src/main/res/layout/fragment_manga_chapters.xml

@@ -19,6 +19,7 @@
             android:layout_height="fill_parent"
             android:layout_marginLeft="16dp"
             android:layout_marginRight="16dp"
+            android:descendantFocusability="blocksDescendants"
             tools:listitem="@layout/item_chapter">
 
         </android.support.v7.widget.RecyclerView>
@@ -37,10 +38,72 @@
         android:theme="@style/ThemeOverlay.AppTheme.Dark"
         app:popupTheme="@style/AppTheme.Popup">
 
-        <android.support.v7.widget.ActionMenuView
-            android:id="@+id/bottom_menu"
-            android:layout_width="wrap_content"
-            android:layout_height="?attr/actionBarSize"/>
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginRight="4dp">
+
+            <ImageView
+                android:id="@+id/action_sort"
+                android:layout_width="wrap_content"
+                android:layout_height="fill_parent"
+                android:layout_gravity="center"
+                android:background="?android:selectableItemBackground"
+                android:title="@string/action_sort_up"
+                tools:src="@drawable/ic_expand_less_white_36dp"
+                />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_toEndOf="@+id/action_sort"
+                android:layout_toLeftOf="@+id/action_next_unread"
+                android:layout_toRightOf="@+id/action_sort"
+                android:gravity="center_vertical">
+
+                <View
+                    android:layout_width="1dp"
+                    android:layout_height="match_parent"
+                    android:layout_margin="10dp"
+                    android:background="@color/white"/>
+
+                <CheckBox
+                    android:id="@+id/action_show_unread"
+                    android:layout_width="wrap_content"
+                    android:layout_height="fill_parent"
+                    android:layout_weight="1"
+                    android:checkable="true"
+                    android:text="@string/action_show_unread"
+                    android:title="@string/action_show_unread"/>
+
+                <CheckBox
+                    android:id="@+id/action_show_downloaded"
+                    android:layout_width="wrap_content"
+                    android:layout_height="fill_parent"
+                    android:layout_weight="1"
+                    android:checkable="true"
+                    android:text="@string/action_show_downloaded"
+                    android:title="@string/action_show_downloaded"/>
+
+                <View
+                    android:layout_width="1dp"
+                    android:layout_height="match_parent"
+                    android:layout_margin="10dp"
+                    android:background="@color/white"/>
+
+
+            </LinearLayout>
+
+            <ImageView
+                android:id="@+id/action_next_unread"
+                android:layout_width="wrap_content"
+                android:layout_height="fill_parent"
+                android:layout_alignParentRight="true"
+                android:background="?android:selectableItemBackground"
+                android:src="@drawable/ic_play_arrow_white_36dp"
+                android:title="@string/action_next_unread"
+                />
+        </RelativeLayout>
     </android.support.v7.widget.Toolbar>
 
 

+ 25 - 13
app/src/main/res/layout/item_catalogue.xml

@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="@drawable/card_background"
-    android:orientation="vertical">
+                xmlns:tools="http://schemas.android.com/tools"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@drawable/card_background"
+                android:orientation="vertical">
 
     <ImageView
         android:id="@+id/thumbnail"
@@ -27,17 +27,29 @@
         android:paddingTop="1dp"
         android:textColor="@color/white"
         android:textSize="12sp"
-        android:visibility="gone" />
+        android:visibility="gone"/>
+
+    <ImageView
+        android:id="@+id/favorite_sticker"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignEnd="@+id/thumbnail"
+        android:layout_alignRight="@+id/thumbnail"
+        android:layout_alignTop="@+id/thumbnail"
+        android:layout_marginRight="5dp"
+        android:layout_marginTop="5dp"
+        android:src="@drawable/ic_action_favorite_blue"
+        android:visibility="invisible"/>
 
     <LinearLayout
         android:id="@+id/footerLinearLayout"
         android:layout_width="match_parent"
         android:layout_height="36dp"
-        android:background="@color/white"
-        android:orientation="vertical"
         android:layout_alignBottom="@+id/thumbnail"
         android:layout_alignLeft="@+id/unreadText"
-        android:layout_alignStart="@+id/unreadText">
+        android:layout_alignStart="@+id/unreadText"
+        android:background="@color/white"
+        android:orientation="vertical">
 
         <TextView
             android:id="@+id/title"
@@ -50,11 +62,10 @@
             android:paddingRight="8dp"
             android:textColor="@color/primary_text"
             android:textSize="13sp"
-            tools:text="Sample name"
-            android:textStyle="bold" />
+            android:textStyle="bold"
+            tools:text="Sample name"/>
 
         <TextView
-            tools:text="Sample name"
             android:id="@+id/author"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -64,7 +75,8 @@
             android:paddingLeft="8dp"
             android:paddingRight="8dp"
             android:textColor="@color/hint_text"
-            android:textSize="13sp" />
+            android:textSize="13sp"
+            tools:text="Sample name"/>
 
     </LinearLayout>
 

+ 5 - 4
app/src/main/res/layout/item_chapter.xml

@@ -64,7 +64,8 @@
         android:layout_above="@+id/relativeLayout"
         android:layout_alignParentRight="true"
         android:layout_alignParentEnd="true"
-        android:layout_alignParentTop="true"/>
+        android:layout_alignParentTop="true"
+        android:layout_marginRight="30dp"/>
 
     <RelativeLayout
         android:id="@+id/chapter_menu"
@@ -72,10 +73,10 @@
         android:layout_height="wrap_content"
         android:layout_alignParentTop="true"
         android:gravity="center|end"
-        android:layout_alignRight="@+id/chapter_title"
-        android:layout_alignEnd="@+id/chapter_title"
         android:layout_alignBottom="@+id/relativeLayout"
-        android:paddingBottom="18dp">
+        android:paddingBottom="18dp"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentEnd="true">
         <ImageView
             android:layout_width="24dp"
             android:layout_height="24dp"

+ 0 - 27
app/src/main/res/menu/chapter_filter.xml

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <item
-        android:id="@+id/action_sort_up"
-        android:title="@string/action_sort_up"
-        android:icon="@drawable/ic_expand_less_white_36dp"
-        android:visible="true"
-        app:showAsAction="ifRoom" />
-
-    <item
-        android:id="@+id/action_sort_down"
-        android:title="@string/action_sort_down"
-        android:icon="@drawable/ic_expand_more_white_36dp"
-        android:visible="true"
-        app:showAsAction="ifRoom" />
-
-    <item
-        android:id="@+id/action_show_unread"
-        android:checkable="true"
-        android:title="@string/action_show_unread"
-        android:text="@string/action_show_unread"
-        app:actionViewClass="android.widget.CheckBox"
-        app:showAsAction="ifRoom|withText" />
-</menu>

+ 4 - 2
app/src/main/res/values/strings.xml

@@ -21,10 +21,12 @@
     <string name="action_edit">Edit</string>
     <string name="action_sort_up">Sort up</string>
     <string name="action_sort_down">Sort down</string>
-    <string name="action_show_unread">Show unread</string>
+    <string name="action_show_unread">Unread</string>
+    <string name="action_show_downloaded">Downloaded</string>
+    <string name="action_next_unread">Next unread</string>
 
     <!-- Buttons -->
-    <string name="button_ok">Ok</string>
+    <string name="button_ok">OK</string>
     <string name="button_cancel">Cancel</string>