aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/activity
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/activity')
-rw-r--r--main/src/cgeo/geocaching/activity/AbstractActivity.java66
-rw-r--r--main/src/cgeo/geocaching/activity/AbstractListActivity.java34
-rw-r--r--main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java4
-rw-r--r--main/src/cgeo/geocaching/activity/ActivityMixin.java24
-rw-r--r--main/src/cgeo/geocaching/activity/IAbstractActivity.java2
5 files changed, 63 insertions, 67 deletions
diff --git a/main/src/cgeo/geocaching/activity/AbstractActivity.java b/main/src/cgeo/geocaching/activity/AbstractActivity.java
index 557665e..964ef96 100644
--- a/main/src/cgeo/geocaching/activity/AbstractActivity.java
+++ b/main/src/cgeo/geocaching/activity/AbstractActivity.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.activity;
+import butterknife.Views;
+
import cgeo.geocaching.Settings;
import cgeo.geocaching.cgeoapplication;
import cgeo.geocaching.compatibility.Compatibility;
@@ -14,22 +16,15 @@ import android.widget.EditText;
public abstract class AbstractActivity extends FragmentActivity implements IAbstractActivity {
- final private String helpTopic;
-
protected cgeoapplication app = null;
protected Resources res = null;
private boolean keepScreenOn = false;
protected AbstractActivity() {
- this(null);
- }
-
- protected AbstractActivity(final String helpTopic) {
- this.helpTopic = helpTopic;
+ this(false);
}
- protected AbstractActivity(final String helpTopic, final boolean keepScreenOn) {
- this(helpTopic);
+ protected AbstractActivity(final boolean keepScreenOn) {
this.keepScreenOn = keepScreenOn;
}
@@ -38,20 +33,15 @@ public abstract class AbstractActivity extends FragmentActivity implements IAbst
ActivityMixin.goHome(this);
}
- @Override
- public void goManual(final View view) {
- ActivityMixin.goManual(this, helpTopic);
- }
-
- final public void setTitle(final String title) {
+ final protected void setTitle(final String title) {
ActivityMixin.setTitle(this, title);
}
- final public void showProgress(final boolean show) {
+ final protected void showProgress(final boolean show) {
ActivityMixin.showProgress(this, show);
}
- final public void setTheme() {
+ final protected void setTheme() {
ActivityMixin.setTheme(this);
}
@@ -70,22 +60,14 @@ public abstract class AbstractActivity extends FragmentActivity implements IAbst
ActivityMixin.helpDialog(this, title, message);
}
- public final void helpDialog(final String title, final String message, final Drawable icon) {
+ protected final void helpDialog(final String title, final String message, final Drawable icon) {
ActivityMixin.helpDialog(this, title, message, icon);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-
- // init
- res = this.getResources();
- app = (cgeoapplication) this.getApplication();
-
- // Restore cookie store if needed
- Cookies.restoreCookieStore(Settings.getCookieStore());
-
- ActivityMixin.keepScreenOn(this, keepScreenOn);
+ initializeCommonFields();
}
protected static void disableSuggestions(final EditText edit) {
@@ -128,4 +110,34 @@ public abstract class AbstractActivity extends FragmentActivity implements IAbst
editText.setSelection(newCursor, newCursor);
}
+ protected void onCreate(final Bundle savedInstanceState, final int resourceLayoutID) {
+ super.onCreate(savedInstanceState);
+
+ initializeCommonFields();
+
+ // non declarative part of layout
+ setTheme();
+ setContentView(resourceLayoutID);
+
+ // create view variables
+ Views.inject(this);
+ }
+
+ private void initializeCommonFields() {
+ // initialize commonly used members
+ res = this.getResources();
+ app = (cgeoapplication) this.getApplication();
+
+ // only needed in some activities, but implemented in super class nonetheless
+ Cookies.restoreCookieStore(Settings.getCookieStore());
+ ActivityMixin.keepScreenOn(this, keepScreenOn);
+ }
+
+ @Override
+ public void setContentView(int layoutResID) {
+ super.setContentView(layoutResID);
+
+ // initialize the action bar title with the activity title for single source
+ ActivityMixin.setTitle(this, getTitle());
+ }
}
diff --git a/main/src/cgeo/geocaching/activity/AbstractListActivity.java b/main/src/cgeo/geocaching/activity/AbstractListActivity.java
index f96a769..47c747f 100644
--- a/main/src/cgeo/geocaching/activity/AbstractListActivity.java
+++ b/main/src/cgeo/geocaching/activity/AbstractListActivity.java
@@ -12,35 +12,24 @@ import android.view.View;
public abstract class AbstractListActivity extends FragmentListActivity implements
IAbstractActivity {
- private String helpTopic;
private boolean keepScreenOn = false;
protected cgeoapplication app = null;
protected Resources res = null;
protected AbstractListActivity() {
- this(null);
+ this(false);
}
protected AbstractListActivity(final boolean keepScreenOn) {
- this(null);
this.keepScreenOn = keepScreenOn;
}
- protected AbstractListActivity(final String helpTopic) {
- this.helpTopic = helpTopic;
- }
-
@Override
final public void goHome(View view) {
ActivityMixin.goHome(this);
}
- @Override
- public void goManual(View view) {
- ActivityMixin.goManual(this, helpTopic);
- }
-
final public void showProgress(final boolean show) {
ActivityMixin.showProgress(this, show);
}
@@ -71,7 +60,10 @@ public abstract class AbstractListActivity extends FragmentListActivity implemen
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ initializeCommonFields();
+ }
+ private void initializeCommonFields() {
// init
res = this.getResources();
app = (cgeoapplication) this.getApplication();
@@ -79,7 +71,7 @@ public abstract class AbstractListActivity extends FragmentListActivity implemen
ActivityMixin.keepScreenOn(this, keepScreenOn);
}
- final public void setTitle(final String title) {
+ final protected void setTitle(final String title) {
ActivityMixin.setTitle(this, title);
}
@@ -87,4 +79,20 @@ public abstract class AbstractListActivity extends FragmentListActivity implemen
public void invalidateOptionsMenuCompatible() {
Compatibility.invalidateOptionsMenu(this);
}
+
+ public void onCreate(Bundle savedInstanceState, int resourceLayoutID) {
+ super.onCreate(savedInstanceState);
+ initializeCommonFields();
+
+ setTheme();
+ setContentView(resourceLayoutID);
+ }
+
+ @Override
+ public void setContentView(int layoutResID) {
+ super.setContentView(layoutResID);
+
+ // initialize action bar title with activity title
+ ActivityMixin.setTitle(this, getTitle());
+ }
}
diff --git a/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java b/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java
index 366a59d..8793c1c 100644
--- a/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java
+++ b/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java
@@ -29,10 +29,6 @@ import java.util.Map;
*/
public abstract class AbstractViewPagerActivity<Page extends Enum<Page>> extends AbstractActivity {
- protected AbstractViewPagerActivity(String helpTopic) {
- super(helpTopic);
- }
-
/**
* A {@link List} of all available pages.
*
diff --git a/main/src/cgeo/geocaching/activity/ActivityMixin.java b/main/src/cgeo/geocaching/activity/ActivityMixin.java
index c97cb9a..12ab0be 100644
--- a/main/src/cgeo/geocaching/activity/ActivityMixin.java
+++ b/main/src/cgeo/geocaching/activity/ActivityMixin.java
@@ -1,15 +1,14 @@
package cgeo.geocaching.activity;
+import cgeo.geocaching.MainActivity;
import cgeo.geocaching.R;
import cgeo.geocaching.Settings;
-import cgeo.geocaching.cgeo;
import cgeo.geocaching.compatibility.Compatibility;
import org.apache.commons.lang3.StringUtils;
import android.app.Activity;
import android.app.AlertDialog;
-import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
@@ -21,34 +20,17 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
-import gnu.android.app.appmanualclient.AppManualReaderClient;
-
public final class ActivityMixin {
public final static void goHome(final Activity fromActivity) {
- final Intent intent = new Intent(fromActivity, cgeo.class);
+ final Intent intent = new Intent(fromActivity, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
fromActivity.startActivity(intent);
fromActivity.finish();
}
- public static void goManual(final Context context, final String helpTopic) {
- if (StringUtils.isBlank(helpTopic)) {
- return;
- }
- try {
- AppManualReaderClient.openManual(
- "c-geo",
- helpTopic,
- context,
- "http://manual.cgeo.org/");
- } catch (Exception e) {
- // nothing
- }
- }
-
- public static void setTitle(final Activity activity, final String text) {
+ public static void setTitle(final Activity activity, final CharSequence text) {
if (StringUtils.isBlank(text)) {
return;
}
diff --git a/main/src/cgeo/geocaching/activity/IAbstractActivity.java b/main/src/cgeo/geocaching/activity/IAbstractActivity.java
index 04709c6..61c218b 100644
--- a/main/src/cgeo/geocaching/activity/IAbstractActivity.java
+++ b/main/src/cgeo/geocaching/activity/IAbstractActivity.java
@@ -6,8 +6,6 @@ public interface IAbstractActivity {
public void goHome(View view);
- public void goManual(View view);
-
public void showToast(String text);
public void showShortToast(String text);