aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/ColorsActivity.java
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2015-09-11 10:57:30 -0700
committerKenny Root <kenny@the-b.org>2015-09-11 11:01:56 -0700
commit2baa56c2629532adad82d0f67abe9dd568a24760 (patch)
treea2389ad30251f44dfa9c388cf8c1cee18e5c1338 /app/src/main/java/org/connectbot/ColorsActivity.java
parent5d2ebeaa409fb2f74fe9eb799793cc004f9d9d29 (diff)
downloadconnectbot-2baa56c2629532adad82d0f67abe9dd568a24760.tar.gz
connectbot-2baa56c2629532adad82d0f67abe9dd568a24760.tar.bz2
connectbot-2baa56c2629532adad82d0f67abe9dd568a24760.zip
Revert "Never cache instances of the HostDatabase"
This reverts commit 57afa9bdc5b269a48bd27fc8455cab4cb956d02a. This won't work with injection and makes testing a bit harder, so revert it.
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;