diff options
-rw-r--r-- | project.properties | 3 | ||||
-rw-r--r-- | res/layout-sw600dp/activity_main.xml | 3 | ||||
-rw-r--r-- | res/layout-sw600dp/activity_view_comic.xml | 6 | ||||
-rw-r--r-- | res/layout-sw600dp/fragment_comics_list.xml | 3 | ||||
-rw-r--r-- | res/layout/activity_main.xml | 3 | ||||
-rw-r--r-- | res/layout/dialog_location.xml | 4 | ||||
-rw-r--r-- | res/layout/dialog_location_compat.xml | 7 | ||||
-rw-r--r-- | res/layout/fragment_comics_list.xml | 19 | ||||
-rw-r--r-- | res/values/attrs.xml | 1 | ||||
-rw-r--r-- | res/values/strings.xml | 4 | ||||
-rw-r--r-- | res/values/style.xml | 15 | ||||
-rw-r--r-- | res/values/styles.xml | 9 | ||||
-rw-r--r-- | src/org/fox/ttcomics/ComicListFragment.java | 23 | ||||
-rw-r--r-- | src/org/fox/ttcomics/CommonActivity.java | 18 | ||||
-rw-r--r-- | src/org/fox/ttcomics/MainActivity.java | 2 | ||||
-rw-r--r-- | src/org/fox/ttcomics/ViewComicActivity.java | 7 |
16 files changed, 98 insertions, 29 deletions
diff --git a/project.properties b/project.properties index ff2453f..29d5acb 100644 --- a/project.properties +++ b/project.properties @@ -12,4 +12,5 @@ # Project target. target=android-19 -android.library.reference.1=../appcompat +android.library.reference.1=..\\appcompat +android.library.reference.2=../SystemBarTint/SystemBarTint-library diff --git a/res/layout-sw600dp/activity_main.xml b/res/layout-sw600dp/activity_main.xml index 3e0dc88..81b302b 100644 --- a/res/layout-sw600dp/activity_main.xml +++ b/res/layout-sw600dp/activity_main.xml @@ -3,7 +3,8 @@ android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
-
+ +
<FrameLayout
android:id="@+id/comics_list"
android:layout_width="match_parent"
diff --git a/res/layout-sw600dp/activity_view_comic.xml b/res/layout-sw600dp/activity_view_comic.xml index b32c9d7..e6479f6 100644 --- a/res/layout-sw600dp/activity_view_comic.xml +++ b/res/layout-sw600dp/activity_view_comic.xml @@ -3,14 +3,16 @@ android:id="@+id/FrameLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent" >
-
+ +
<FrameLayout
android:id="@+id/comics_pager_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
-
+ +
<TextView
android:id="@+id/tablet_layout_hack"
android:layout_width="wrap_content"
diff --git a/res/layout-sw600dp/fragment_comics_list.xml b/res/layout-sw600dp/fragment_comics_list.xml index e4999c8..eaf8c90 100644 --- a/res/layout-sw600dp/fragment_comics_list.xml +++ b/res/layout-sw600dp/fragment_comics_list.xml @@ -3,7 +3,8 @@ android:id="@+id/FrameLayout4"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
-
+ +
<GridView
android:id="@+id/comics_grid"
android:layout_width="match_parent"
diff --git a/res/layout/activity_main.xml b/res/layout/activity_main.xml index 3f686f0..790857f 100644 --- a/res/layout/activity_main.xml +++ b/res/layout/activity_main.xml @@ -3,7 +3,8 @@ android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
-
+ +
<FrameLayout
android:id="@+id/comics_list"
android:layout_width="match_parent"
diff --git a/res/layout/dialog_location.xml b/res/layout/dialog_location.xml index 1ae24ce..cabbf9a 100644 --- a/res/layout/dialog_location.xml +++ b/res/layout/dialog_location.xml @@ -3,7 +3,9 @@ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
-
+ + +
<NumberPicker
android:id="@+id/number_picker"
android:layout_width="match_parent"
diff --git a/res/layout/dialog_location_compat.xml b/res/layout/dialog_location_compat.xml index 3e2467e..385b8d5 100644 --- a/res/layout/dialog_location_compat.xml +++ b/res/layout/dialog_location_compat.xml @@ -3,13 +3,16 @@ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
-
+ +
<SeekBar
android:id="@+id/number_seeker"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
-
+ + +
<TextView
android:id="@+id/page_number"
android:layout_width="wrap_content"
diff --git a/res/layout/fragment_comics_list.xml b/res/layout/fragment_comics_list.xml index cdef287..2461c15 100644 --- a/res/layout/fragment_comics_list.xml +++ b/res/layout/fragment_comics_list.xml @@ -4,18 +4,24 @@ android:layout_width="fill_parent"
android:layout_height="fill_parent" >
- <ListView
- android:id="@+id/comics_list"
- android:layoutAnimation="@anim/layout_comics"
+ <android.support.v4.widget.SwipeRefreshLayout
+ android:id="@+id/comics_swipe_container"
android:layout_width="match_parent"
- android:layout_height="wrap_content" >
- </ListView>
+ android:layout_height="match_parent" >
+
+ <ListView
+ android:id="@+id/comics_list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layoutAnimation="@anim/layout_comics" >
+ </ListView>
+ </android.support.v4.widget.SwipeRefreshLayout>
<LinearLayout
android:id="@+id/no_comics"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_gravity="center"
+ android:layout_gravity="center"
android:orientation="vertical"
android:padding="4dp" >
@@ -25,7 +31,6 @@ android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/error_no_comic_arhives_found_" />
-
</LinearLayout>
</FrameLayout>
\ No newline at end of file diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 75347d8..9a693d4 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="viewComicsBackground" format="reference|color" />
+ <attr name="statusBarHintColor" format="reference|color" />
</resources>
\ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 3d5cac4..7ef7de2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4,7 +4,7 @@ <string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="menu_go_location">Go to</string>
- <string name="title_activity_main">Pow! Comics Reader</string>
+ <string name="title_activity_main">Comics Reader</string>
<string name="title_activity_preferences">Settings</string>
<string name="prefs_comics_directory">Comics directory</string>
<string name="prefs_general">General</string>
@@ -63,5 +63,5 @@ <string name="sync_running_in_test_mode">Sync running in test mode.</string>
<string name="reset_remove_synced_progress">Would you like to remove synced progress too?</string>
<string name="error_cant_open_file">Can\'t open file: %1$s</string>
- <string name="prefs_prevent_screen_sleep">Keep screen awake</string>
+ <string name="prefs_prevent_screen_sleep">Keep screen awake</string>
</resources>
\ No newline at end of file diff --git a/res/values/style.xml b/res/values/style.xml new file mode 100644 index 0000000..a62c354 --- /dev/null +++ b/res/values/style.xml @@ -0,0 +1,15 @@ +<resources>
+
+ <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+
+ </style>
+
+ <style name="ViewLightTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+ <item name="viewComicsBackground">@android:color/transparent</item>
+ </style>
+
+ <style name="ViewDarkTheme" parent="Theme.AppCompat">
+ <item name="viewComicsBackground">@android:color/black</item>
+ </style>
+
+</resources>
\ No newline at end of file diff --git a/res/values/styles.xml b/res/values/styles.xml deleted file mode 100644 index 4b718f3..0000000 --- a/res/values/styles.xml +++ /dev/null @@ -1,9 +0,0 @@ -<resources>
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
- <item name="viewComicsBackground">@android:color/transparent</item>
- </style>
-
- <style name="DarkTheme" parent="Theme.AppCompat">
- <item name="viewComicsBackground">@android:color/black</item>
- </style>
-</resources> diff --git a/src/org/fox/ttcomics/ComicListFragment.java b/src/org/fox/ttcomics/ComicListFragment.java index 31dbf19..26166fc 100644 --- a/src/org/fox/ttcomics/ComicListFragment.java +++ b/src/org/fox/ttcomics/ComicListFragment.java @@ -18,6 +18,7 @@ import android.preference.PreferenceManager; import android.provider.BaseColumns;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SimpleCursorAdapter;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.ContextMenu;
@@ -53,6 +54,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { private ComicsListAdapter m_adapter;
private int m_mode = 0;
private String m_baseDirectory = "";
+ private SwipeRefreshLayout m_swipeLayout;
public ComicListFragment() {
super();
@@ -238,6 +240,22 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { //m_files = savedInstanceState.getStringArrayList("files");
}
+ m_swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.comics_swipe_container);
+
+ m_swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ rescan(true);
+ }
+ });
+
+ if (!CommonActivity.isCompatMode()) {
+ m_swipeLayout.setColorScheme(android.R.color.holo_green_dark,
+ android.R.color.holo_red_dark,
+ android.R.color.holo_blue_dark,
+ android.R.color.holo_orange_dark);
+ }
+
m_adapter = new ComicsListAdapter(getActivity(), R.layout.comics_list_row, createCursor(),
new String[] { "filename" }, new int[] { R.id.file_name }, 0);
@@ -351,7 +369,8 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { }
protected void rescan(final boolean fullRescan) {
-
+ m_swipeLayout.setRefreshing(true);
+
AsyncTask<String, Integer, Integer> rescanTask = new AsyncTask<String, Integer, Integer>() {
@Override
@@ -448,6 +467,8 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { if (isAdded() && m_activity != null) {
m_activity.cleanupCache(false);
m_activity.cleanupSqliteCache(comicsDir);
+
+ m_swipeLayout.setRefreshing(false);
}
return fileIndex; //m_files.size();
diff --git a/src/org/fox/ttcomics/CommonActivity.java b/src/org/fox/ttcomics/CommonActivity.java index ef3cdc4..6d392d2 100644 --- a/src/org/fox/ttcomics/CommonActivity.java +++ b/src/org/fox/ttcomics/CommonActivity.java @@ -6,6 +6,8 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;
import java.util.Date;
+import com.readystatesoftware.systembartint.SystemBarTintManager;
+
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.AlertDialog;
@@ -26,6 +28,7 @@ import android.preference.PreferenceManager; import android.provider.BaseColumns;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
+import android.util.TypedValue;
import android.view.Display;
import android.view.MenuItem;
import android.view.View;
@@ -597,6 +600,21 @@ public class CommonActivity extends ActionBarActivity { }
}
}
+
+ public void setStatusBarTint() {
+ if (android.os.Build.VERSION.SDK_INT == android.os.Build.VERSION_CODES.KITKAT) {
+ SystemBarTintManager tintManager = new SystemBarTintManager(this);
+ // enable status bar tint
+ tintManager.setStatusBarTintEnabled(true);
+ // enable navigation bar tint
+ tintManager.setNavigationBarTintEnabled(true);
+
+ TypedValue tv = new TypedValue();
+ getTheme().resolveAttribute(R.attr.statusBarHintColor, tv, true);
+
+ tintManager.setStatusBarTintColor(tv.data);
+ }
+ }
public void hideSystemUiIfNecessary() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
diff --git a/src/org/fox/ttcomics/MainActivity.java b/src/org/fox/ttcomics/MainActivity.java index cf2f798..0e589fa 100644 --- a/src/org/fox/ttcomics/MainActivity.java +++ b/src/org/fox/ttcomics/MainActivity.java @@ -13,6 +13,7 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBar.Tab; import android.util.Log; @@ -76,6 +77,7 @@ public class MainActivity extends CommonActivity { setProgressBarVisibility(false); + setStatusBarTint(); setSmallScreen(findViewById(R.id.tablet_layout_hack) == null); if (savedInstanceState == null) { diff --git a/src/org/fox/ttcomics/ViewComicActivity.java b/src/org/fox/ttcomics/ViewComicActivity.java index deda68c..4459e18 100644 --- a/src/org/fox/ttcomics/ViewComicActivity.java +++ b/src/org/fox/ttcomics/ViewComicActivity.java @@ -42,13 +42,18 @@ public class ViewComicActivity extends CommonActivity { super.onCreate(savedInstanceState);
if (!isCompatMode())
- setTheme(m_prefs.getBoolean("use_dark_theme", false) ? R.style.DarkTheme : R.style.AppTheme);
+ setTheme(m_prefs.getBoolean("use_dark_theme", false) ? R.style.ViewDarkTheme : R.style.ViewLightTheme);
requestWindowFeature(Window.FEATURE_PROGRESS);
if (m_prefs.getBoolean("prevent_screen_sleep", false))
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ if (android.os.Build.VERSION.SDK_INT == android.os.Build.VERSION_CODES.KITKAT && !m_prefs.getBoolean("use_full_screen", false)) {
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ setStatusBarTint();
+ }
+
setContentView(R.layout.activity_view_comic);
if (savedInstanceState == null) {
|