summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-10-14 22:41:49 +0400
committerAndrew Dolgov <[email protected]>2012-10-14 22:41:49 +0400
commit61613a761220c8372bed851f7a83c255e9e5aeb0 (patch)
tree62935abdfaa47fae0dcb767c6310eaec4f5bfe7b /src
parent54b9d1b4ac808c80c9571235fb8ddf99246cfa58 (diff)
add support for android 2.3
Diffstat (limited to 'src')
-rw-r--r--src/org/fox/ttcomics/ComicFragment.java10
-rw-r--r--src/org/fox/ttcomics/ComicPager.java4
-rw-r--r--src/org/fox/ttcomics/CommonActivity.java4
-rw-r--r--src/org/fox/ttcomics/MainActivity.java68
-rw-r--r--src/org/fox/ttcomics/PreferencesActivity.java8
-rw-r--r--src/org/fox/ttcomics/ViewComicActivity.java65
6 files changed, 95 insertions, 64 deletions
diff --git a/src/org/fox/ttcomics/ComicFragment.java b/src/org/fox/ttcomics/ComicFragment.java
index 7c0e527..668822a 100644
--- a/src/org/fox/ttcomics/ComicFragment.java
+++ b/src/org/fox/ttcomics/ComicFragment.java
@@ -40,7 +40,11 @@ public class ComicFragment extends Fragment {
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(archive.getItem(page), null, options);
- options.inSampleSize = CommonActivity.calculateInSampleSize(options, 512, 512);
+ if (CommonActivity.isCompatMode()) {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 256, 256);
+ } else {
+ options.inSampleSize = CommonActivity.calculateInSampleSize(options, 512, 512);
+ }
options.inJustDecodeBounds = false;
return BitmapFactory.decodeStream(archive.getItem(page), null, options);
@@ -73,6 +77,10 @@ public class ComicFragment extends Fragment {
ComicPager pager = (ComicPager) getActivity().getSupportFragmentManager().findFragmentByTag(CommonActivity.FRAG_COMICS_PAGER);
if (pager != null) {
+ if (CommonActivity.isCompatMode() && m_prefs.getBoolean("use_dark_theme", false)) {
+ image.setBackgroundColor(0xff000000);
+ }
+
image.setImageBitmap(loadImage(pager.getArchive(), m_page));
image.setMaxZoom(4f);
image.setOnScaleChangedListener(new TouchImageView.OnScaleChangedListener() {
diff --git a/src/org/fox/ttcomics/ComicPager.java b/src/org/fox/ttcomics/ComicPager.java
index ea8a502..2dd9074 100644
--- a/src/org/fox/ttcomics/ComicPager.java
+++ b/src/org/fox/ttcomics/ComicPager.java
@@ -114,8 +114,8 @@ public class ComicPager extends Fragment {
m_activity.onComicSelected(m_fileName, position);
m_activity.setProgress(Math.round(((float)position / (float)m_archive.getCount()) * 10000));
-
- if (m_prefs.getBoolean("dim_status_bar", false)) {
+
+ if (!CommonActivity.isCompatMode() && m_prefs.getBoolean("dim_status_bar", false)) {
view.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
}
}
diff --git a/src/org/fox/ttcomics/CommonActivity.java b/src/org/fox/ttcomics/CommonActivity.java
index 1508550..0a368b5 100644
--- a/src/org/fox/ttcomics/CommonActivity.java
+++ b/src/org/fox/ttcomics/CommonActivity.java
@@ -36,6 +36,10 @@ public class CommonActivity extends FragmentActivity {
m_prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
}
+
+ public static boolean isCompatMode() {
+ return android.os.Build.VERSION.SDK_INT <= 10;
+ }
protected void setSmallScreen(boolean smallScreen) {
Log.d(TAG, "m_smallScreenMode=" + smallScreen);
diff --git a/src/org/fox/ttcomics/MainActivity.java b/src/org/fox/ttcomics/MainActivity.java
index 38b22a5..f34ccb5 100644
--- a/src/org/fox/ttcomics/MainActivity.java
+++ b/src/org/fox/ttcomics/MainActivity.java
@@ -3,6 +3,7 @@ package org.fox.ttcomics;
import java.io.File;
import android.animation.LayoutTransition;
+import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.AlertDialog;
@@ -20,10 +21,11 @@ import android.widget.ShareActionProvider;
public class MainActivity extends CommonActivity {
private final String TAG = this.getClass().getSimpleName();
- private TabListener m_tabListener = new TabListener();
+ private TabListener m_tabListener;
private int m_selectedTab;
private String m_baseDirectory = "";
+ @SuppressLint("NewApi")
private class TabListener implements ActionBar.TabListener {
public void onTabReselected(Tab tab, android.app.FragmentTransaction ft) {
@@ -88,33 +90,39 @@ public class MainActivity extends CommonActivity {
m_baseDirectory = savedInstanceState.getString("baseDir");
}
- ActionBar actionBar = getActionBar();
-
- actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
-
- actionBar.addTab(getActionBar().newTab()
- .setText(R.string.tab_all_comics)
- .setTabListener(m_tabListener));
-
- actionBar.addTab(getActionBar().newTab()
- .setText(R.string.tab_unread)
- .setTabListener(m_tabListener));
-
- actionBar.addTab(getActionBar().newTab()
- .setText(R.string.tab_unfinished)
- .setTabListener(m_tabListener));
-
- actionBar.addTab(getActionBar().newTab()
- .setText(R.string.tab_read)
- .setTabListener(m_tabListener));
-
- if (savedInstanceState != null) {
- m_selectedTab = savedInstanceState.getInt("selectedTab");
- } else {
- m_selectedTab = getIntent().getIntExtra("selectedTab", 0);
+ if (!isCompatMode()) {
+ m_tabListener = new TabListener();
+
+ ActionBar actionBar = getActionBar();
+
+ actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
+
+ actionBar.addTab(getActionBar().newTab()
+ .setText(R.string.tab_all_comics)
+ .setTabListener(m_tabListener));
+
+ actionBar.addTab(getActionBar().newTab()
+ .setText(R.string.tab_unread)
+ .setTabListener(m_tabListener));
+
+ actionBar.addTab(getActionBar().newTab()
+ .setText(R.string.tab_unfinished)
+ .setTabListener(m_tabListener));
+
+ actionBar.addTab(getActionBar().newTab()
+ .setText(R.string.tab_read)
+ .setTabListener(m_tabListener));
+
+ if (savedInstanceState != null) {
+ m_selectedTab = savedInstanceState.getInt("selectedTab");
+ } else {
+ m_selectedTab = getIntent().getIntExtra("selectedTab", 0);
+ }
+
+ actionBar.selectTab(actionBar.getTabAt(m_selectedTab));
+
+ actionBar.setDisplayHomeAsUpEnabled(m_baseDirectory.length() > 0);
}
-
- actionBar.selectTab(actionBar.getTabAt(m_selectedTab));
if (m_prefs.getString("comics_directory", null) == null) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
@@ -138,9 +146,9 @@ public class MainActivity extends CommonActivity {
alert.show();
}
- actionBar.setDisplayHomeAsUpEnabled(m_baseDirectory.length() > 0);
-
- ((ViewGroup)findViewById(R.id.comics_list)).setLayoutTransition(new LayoutTransition());
+ if (!isCompatMode()) {
+ ((ViewGroup)findViewById(R.id.comics_list)).setLayoutTransition(new LayoutTransition());
+ }
}
@Override
diff --git a/src/org/fox/ttcomics/PreferencesActivity.java b/src/org/fox/ttcomics/PreferencesActivity.java
index 50df35c..84029f1 100644
--- a/src/org/fox/ttcomics/PreferencesActivity.java
+++ b/src/org/fox/ttcomics/PreferencesActivity.java
@@ -2,7 +2,9 @@ package org.fox.ttcomics;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.preference.Preference;
import android.preference.PreferenceActivity;
+import android.preference.PreferenceCategory;
import android.preference.PreferenceManager;
public class PreferencesActivity extends PreferenceActivity {
@@ -15,5 +17,11 @@ public class PreferencesActivity extends PreferenceActivity {
.getDefaultSharedPreferences(getApplicationContext());
addPreferencesFromResource(R.xml.preferences);
+
+ if (CommonActivity.isCompatMode()) {
+ Preference pref = findPreference("dim_status_bar");
+ PreferenceCategory cat = (PreferenceCategory) findPreference("prefs_reading");
+ cat.removePreference(pref);
+ }
}
}
diff --git a/src/org/fox/ttcomics/ViewComicActivity.java b/src/org/fox/ttcomics/ViewComicActivity.java
index 8197953..d813b57 100644
--- a/src/org/fox/ttcomics/ViewComicActivity.java
+++ b/src/org/fox/ttcomics/ViewComicActivity.java
@@ -54,7 +54,10 @@ public class ViewComicActivity extends CommonActivity {
m_tmpFileName = savedInstanceState.getString("tmpFileName");
}
- getActionBar().setDisplayHomeAsUpEnabled(true);
+ if (!isCompatMode()) {
+ getActionBar().setDisplayHomeAsUpEnabled(true);
+ }
+
setTitle(new File(m_fileName).getName());
if (m_prefs.getBoolean("use_full_screen", false)) {
@@ -166,38 +169,38 @@ public class ViewComicActivity extends CommonActivity {
cp.setCurrentItem(getMaxPosition(m_fileName));
break;
case 2:
-
- LayoutInflater inflater = getLayoutInflater();
- View contentView = inflater.inflate(R.layout.dialog_location, null);
-
- final NumberPicker picker = (NumberPicker) contentView.findViewById(R.id.number_picker);
-
- picker.setMinValue(1);
- picker.setMaxValue(getSize(m_fileName));
- picker.setValue(cp.getPosition()+1);
-
- Dialog seekDialog = new Dialog(ViewComicActivity.this);
- AlertDialog.Builder seekBuilder = new AlertDialog.Builder(ViewComicActivity.this)
- .setTitle(R.string.dialog_open_location)
- .setView(contentView)
- .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
-
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
- }
- }).setPositiveButton(R.string.dialog_open_location, new DialogInterface.OnClickListener() {
-
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
+ if (!isCompatMode()) {
+ LayoutInflater inflater = getLayoutInflater();
+ View contentView = inflater.inflate(R.layout.dialog_location, null);
+
+ final NumberPicker picker = (NumberPicker) contentView.findViewById(R.id.number_picker);
- cp.setCurrentItem(picker.getValue()-1);
+ picker.setMinValue(1);
+ picker.setMaxValue(getSize(m_fileName));
+ picker.setValue(cp.getPosition()+1);
+
+ Dialog seekDialog = new Dialog(ViewComicActivity.this);
+ AlertDialog.Builder seekBuilder = new AlertDialog.Builder(ViewComicActivity.this)
+ .setTitle(R.string.dialog_open_location)
+ .setView(contentView)
+ .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
- }
- });
-
- seekDialog = seekBuilder.create();
- seekDialog.show();
-
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+ }
+ }).setPositiveButton(R.string.dialog_open_location, new DialogInterface.OnClickListener() {
+
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+
+ cp.setCurrentItem(picker.getValue()-1);
+
+ }
+ });
+
+ seekDialog = seekBuilder.create();
+ seekDialog.show();
+ }
break;
case 3: