aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/ColorsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/connectbot/ColorsActivity.java')
-rw-r--r--app/src/main/java/org/connectbot/ColorsActivity.java37
1 files changed, 26 insertions, 11 deletions
diff --git a/app/src/main/java/org/connectbot/ColorsActivity.java b/app/src/main/java/org/connectbot/ColorsActivity.java
index 8725a51..55904c5 100644
--- a/app/src/main/java/org/connectbot/ColorsActivity.java
+++ b/app/src/main/java/org/connectbot/ColorsActivity.java
@@ -56,6 +56,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
private int mColorScheme;
private List<Integer> mColorList;
+ private HostDatabase mHostDb;
private int mCurrentColor = 0;
@@ -73,10 +74,10 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
mColorScheme = HostDatabase.DEFAULT_COLOR_SCHEME;
- HostDatabase hostDb = HostDatabase.get(this);
+ mHostDb = HostDatabase.get(this);
- mColorList = Arrays.asList(hostDb.getColorsForScheme(mColorScheme));
- mDefaultColors = hostDb.getDefaultColorsForScheme(mColorScheme);
+ mColorList = Arrays.asList(mHostDb.getColorsForScheme(mColorScheme));
+ mDefaultColors = mHostDb.getDefaultColorsForScheme(mColorScheme);
mColorGrid = (GridView) findViewById(R.id.color_grid);
mColorGrid.setAdapter(new ColorsAdapter(true));
@@ -94,6 +95,24 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
mBgSpinner.setOnItemSelectedListener(this);
}
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+
+ if (mHostDb != null) {
+ mHostDb = null;
+ }
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+
+ if (mHostDb == null) {
+ mHostDb = HostDatabase.get(this);
+ }
+ }
+
private class ColorsAdapter extends BaseAdapter {
private final boolean mSquareViews;
private final int mResourceLabel;
@@ -285,8 +304,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
public void onNothingSelected(AdapterView<?> arg0) { }
public void colorChanged(int value) {
- HostDatabase hostDb = HostDatabase.get(this);
- hostDb.setGlobalColor(mCurrentColor, value);
+ mHostDb.setGlobalColor(mCurrentColor, value);
mColorList.set(mCurrentColor, value);
mColorGrid.invalidateViews();
}
@@ -307,8 +325,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
}
if (needUpdate) {
- HostDatabase hostDb = HostDatabase.get(this);
- hostDb.setDefaultColorsForScheme(mColorScheme, mDefaultColors[0], mDefaultColors[1]);
+ mHostDb.setDefaultColorsForScheme(mColorScheme, mDefaultColors[0], mDefaultColors[1]);
}
}
@@ -322,12 +339,10 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
reset.setIcon(android.R.drawable.ic_menu_revert);
reset.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem arg0) {
- HostDatabase hostDb = HostDatabase.get(ColorsActivity.this);
-
// Reset each individual color to defaults.
for (int i = 0; i < Colors.defaults.length; i++) {
if (!mColorList.get(i).equals(Colors.defaults[i])) {
- hostDb.setGlobalColor(i, Colors.defaults[i]);
+ mHostDb.setGlobalColor(i, Colors.defaults[i]);
mColorList.set(i, Colors.defaults[i]);
}
}
@@ -336,7 +351,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
// Reset the default FG/BG colors as well.
mFgSpinner.setSelection(HostDatabase.DEFAULT_FG_COLOR);
mBgSpinner.setSelection(HostDatabase.DEFAULT_BG_COLOR);
- hostDb.setDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME,
+ mHostDb.setDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME,
HostDatabase.DEFAULT_FG_COLOR, HostDatabase.DEFAULT_BG_COLOR);
return true;