summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics/src
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-11 12:23:35 +0300
committerAndrew Dolgov <[email protected]>2015-06-11 12:23:35 +0300
commit4d1f07884c7ecf55cce1b5e4a9d2204a6b5e6232 (patch)
tree5eecda9ee4b2b541d8654499abdd02afebad086c /org.fox.ttcomics/src
parent12591eb1e39ba4de4d764f1435a97975aad77ba0 (diff)
add option to disable FAB
properly implement restarting on needed pref change
Diffstat (limited to 'org.fox.ttcomics/src')
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java23
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java32
-rw-r--r--org.fox.ttcomics/src/main/res/xml/preferences.xml5
3 files changed, 35 insertions, 25 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java
index 362719c..6f3a598 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java
@@ -261,18 +261,23 @@ public class ComicListFragment extends Fragment implements OnItemClickListener {
new String[] { "filename" }, new int[] { R.id.file_name }, 0);
m_animationAdapter = new ScaleInAnimationAdapter(m_adapter);
+ HeaderFooterGridView grid = (HeaderFooterGridView) view.findViewById(R.id.comics_grid);
+
FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- rescan(true);
- }
- });
- HeaderFooterGridView grid = (HeaderFooterGridView) view.findViewById(R.id.comics_grid);
+ if (m_prefs.getBoolean("enable_fab", true)) {
+ fab.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ rescan(true);
+ }
+ });
- View footer = inflater.inflate(R.layout.comics_grid_footer, grid, false);
- grid.addFooterView(footer, null, false);
+ View footer = inflater.inflate(R.layout.comics_grid_footer, grid, false);
+ grid.addFooterView(footer, null, false);
+ } else {
+ fab.setVisibility(View.GONE);
+ }
m_animationAdapter.setAbsListView(grid);
grid.setAdapter(m_animationAdapter);
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
index 5eb833b..8910d4b 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
@@ -10,6 +10,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
@@ -22,20 +23,20 @@ import org.fox.ttcomics2.sync.SyncClient;
import org.fox.ttcomics2.sync.SyncFolderService;
import java.io.File;
+import java.util.Arrays;
import it.neokree.materialtabs.MaterialTab;
import it.neokree.materialtabs.MaterialTabHost;
import it.neokree.materialtabs.MaterialTabListener;
-public class MainActivity extends CommonActivity implements MaterialTabListener {
+public class MainActivity extends CommonActivity implements MaterialTabListener, SharedPreferences.OnSharedPreferenceChangeListener {
private final String TAG = this.getClass().getSimpleName();
private final static int TRIAL_DAYS = 7;
private int m_selectedTab;
- private String m_rootDirectory = "";
private MaterialTabHost tabHost;
- private boolean m_useSync;
private ProgressDialog m_progressDialog;
+ private boolean m_needRestart;
private BroadcastReceiver m_serviceReceiver = new BroadcastReceiver() {
@Override
@@ -64,8 +65,7 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- m_rootDirectory = m_prefs.getString("comics_directory", "");
- m_useSync = m_prefs.getBoolean("use_position_sync", false);
+ m_prefs.registerOnSharedPreferenceChangeListener(this);
setContentView(R.layout.activity_main);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
@@ -151,7 +151,7 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
//}
//((ViewGroup)findViewById(R.id.comics_list)).setLayoutTransition(new LayoutTransition());
- }
+ }
@Override
public void onResume() {
@@ -164,19 +164,13 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
registerReceiver(m_serviceReceiver, filter);
- if (!m_rootDirectory.equals(m_prefs.getString("comics_directory", ""))) {
- Log.d(TAG, "root directory changed, restarting");
-
- finish();
- startActivity(getIntent());
- }
+ //if (m_enableFab != m_prefs.getBoolean("enable_fab", true)) {
- if (m_useSync != m_prefs.getBoolean("use_position_sync", false)) {
- Log.d(TAG, "sync settings changed, restarting");
+ if (m_needRestart) {
+ Log.d(TAG, "shared preferences changed, restarting");
finish();
startActivity(getIntent());
-
}
}
@@ -194,7 +188,6 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
super.onSaveInstanceState(out);
out.putInt("selectedTab", m_selectedTab);
- //out.putString("baseDir", m_baseDirectory);
}
public int getMode() {
@@ -379,4 +372,11 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
unregisterReceiver(m_serviceReceiver);
}
+
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ String[] filter = new String[] { "enable_fab", "comics_directory", "use_position_sync" };
+
+ m_needRestart = Arrays.asList(filter).indexOf(key) != -1;
+ }
}
diff --git a/org.fox.ttcomics/src/main/res/xml/preferences.xml b/org.fox.ttcomics/src/main/res/xml/preferences.xml
index 32ae1a3..7305a3d 100644
--- a/org.fox.ttcomics/src/main/res/xml/preferences.xml
+++ b/org.fox.ttcomics/src/main/res/xml/preferences.xml
@@ -8,6 +8,11 @@
android:summary="@string/prefs_comics_directory_summary"
android:title="@string/prefs_comics_directory" >
</Preference>
+ <SwitchPreference
+ android:defaultValue="true"
+ android:key="enable_fab"
+ android:summary="Show floating action button"
+ android:title="Enable FAB" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/prefs_sync" >
<SwitchPreference