aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/AndroidManifest.xml2
-rw-r--r--main/res/values/themes.xml32
-rw-r--r--main/src/cgeo/geocaching/AbstractPopupActivity.java3
-rw-r--r--main/src/cgeo/geocaching/activity/ActivityMixin.java16
-rw-r--r--main/src/cgeo/geocaching/export/FieldnoteExport.java6
-rw-r--r--main/src/cgeo/geocaching/export/GpxExport.java4
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java2
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java3
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/EditorDialog.java3
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java4
10 files changed, 66 insertions, 9 deletions
diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml
index abd1adb..f764462 100644
--- a/main/AndroidManifest.xml
+++ b/main/AndroidManifest.xml
@@ -56,7 +56,6 @@
<activity
android:name=".CachePopup"
android:label="@string/app_name"
- android:theme="@style/popup_dark"
android:windowSoftInputMode="stateHidden"
android:configChanges="keyboardHidden|orientation" >
</activity>
@@ -219,7 +218,6 @@
android:authorities="cgeo.geocaching.apps.locusdatastorageprovider" />
<activity android:name="WaypointPopup"
android:label="@string/app_name"
- android:theme="@style/popup_dark"
android:windowSoftInputMode="stateHidden"
android:configChanges="keyboardHidden|orientation" >
</activity>
diff --git a/main/res/values/themes.xml b/main/res/values/themes.xml
index ee80059..fdc2eeb 100644
--- a/main/res/values/themes.xml
+++ b/main/res/values/themes.xml
@@ -122,4 +122,36 @@
<item name="compass">0</item>
</style>
+ <!-- TODO: Popup probably doesn't need all these fields set. Should delete unnecessary ones. -->
+ <style name="popup_light" parent="cgeo_popup">
+ <!-- system values -->
+
+ <!-- own values: colors -->
+ <item name="android:windowBackground">@color/just_white</item>
+ <item name="text_color">@color/text_light</item>
+ <item name="text_color_headline">@color/text_headline_light</item>
+ <item name="text_color_grey">@color/text_grey_light</item>
+ <item name="text_color_hint">@color/text_hint_light</item>
+ <item name="background_color">@color/background_light</item>
+ <item name="background_color_notice">@color/background_light_notice</item>
+ <item name="background_color_transparent">@color/background_light_transparent</item>
+ <item name="separator_color">@color/separator_light</item>
+
+ <!-- own values: drawables -->
+ <item name="button">@drawable/action_button_light</item>
+ <item name="input">@drawable/input_bcg_light</item>
+ <item name="inventory">@drawable/inventory_background_light</item>
+ <item name="favourite">@drawable/favourite_background_light</item>
+ <item name="favourite_r">@drawable/favourite_background_red_light</item>
+ <item name="favourite_o">@drawable/favourite_background_orange_light</item>
+ <item name="favourite_g">@drawable/favourite_background_green_light</item>
+ <item name="close">@drawable/map_close_light</item>
+ <item name="log_img_icon">@drawable/log_img_light</item>
+ <item name="actionbar_compass">@drawable/actionbar_compass_light</item>
+ <item name="progressSpinnerLarge">@android:style/Widget.ProgressBar.Large.Inverse</item>
+
+ <!-- own values: other -->
+ <item name="compass">1</item>
+ </style>
+
</resources> \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java
index c38d5ea..f903d00 100644
--- a/main/src/cgeo/geocaching/AbstractPopupActivity.java
+++ b/main/src/cgeo/geocaching/AbstractPopupActivity.java
@@ -1,6 +1,7 @@
package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
+import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.enumerations.CacheSize;
import cgeo.geocaching.enumerations.LoadFlags;
@@ -129,6 +130,8 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ // set theme
+ this.setTheme(ActivityMixin.getDialogTheme());
// set layout
setContentView(layout);
setTitle(res.getString(R.string.detail));
diff --git a/main/src/cgeo/geocaching/activity/ActivityMixin.java b/main/src/cgeo/geocaching/activity/ActivityMixin.java
index 8900593..de2dade 100644
--- a/main/src/cgeo/geocaching/activity/ActivityMixin.java
+++ b/main/src/cgeo/geocaching/activity/ActivityMixin.java
@@ -79,6 +79,22 @@ public final class ActivityMixin {
}
}
+ public static int getTheme() {
+ if (Settings.isLightSkin()) {
+ return R.style.light;
+ }
+
+ return R.style.dark;
+ }
+
+ public static int getDialogTheme() {
+ if (Settings.isLightSkin()) {
+ return R.style.popup_light;
+ }
+
+ return R.style.popup_dark;
+ }
+
public static void showToast(final Activity activity, final String text) {
if (StringUtils.isNotBlank(text)) {
Toast toast = Toast.makeText(activity, text, Toast.LENGTH_LONG);
diff --git a/main/src/cgeo/geocaching/export/FieldnoteExport.java b/main/src/cgeo/geocaching/export/FieldnoteExport.java
index 39eae0e..5e1805a 100644
--- a/main/src/cgeo/geocaching/export/FieldnoteExport.java
+++ b/main/src/cgeo/geocaching/export/FieldnoteExport.java
@@ -1,8 +1,8 @@
package cgeo.geocaching.export;
+import cgeo.geocaching.Geocache;
import cgeo.geocaching.LogEntry;
import cgeo.geocaching.R;
-import cgeo.geocaching.Geocache;
import cgeo.geocaching.cgData;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.activity.Progress;
@@ -22,6 +22,7 @@ import android.app.Dialog;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Environment;
+import android.view.ContextThemeWrapper;
import android.view.View;
import android.widget.CheckBox;
@@ -70,7 +71,8 @@ class FieldnoteExport extends AbstractExport {
private Dialog getExportOptionsDialog(final List<Geocache> caches, final Activity activity) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
- View layout = activity.getLayoutInflater().inflate(R.layout.fieldnote_export_dialog, null);
+ // AlertDialog has always dark style, so we have to apply it as well always
+ View layout = View.inflate(new ContextThemeWrapper(activity, R.style.dark), R.layout.fieldnote_export_dialog, null);
builder.setView(layout);
final CheckBox uploadOption = (CheckBox) layout.findViewById(R.id.upload);
diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java
index d130e1f..74ee072 100644
--- a/main/src/cgeo/geocaching/export/GpxExport.java
+++ b/main/src/cgeo/geocaching/export/GpxExport.java
@@ -28,6 +28,7 @@ import android.net.Uri;
import android.os.AsyncTask;
import android.os.Environment;
import android.util.Xml;
+import android.view.ContextThemeWrapper;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
@@ -67,7 +68,8 @@ class GpxExport extends AbstractExport {
private Dialog getExportDialog(final List<Geocache> caches, final Activity activity) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
- View layout = activity.getLayoutInflater().inflate(R.layout.gpx_export_dialog, null);
+ // AlertDialog has always dark style, so we have to apply it as well always
+ View layout = View.inflate(new ContextThemeWrapper(activity, R.style.dark), R.layout.gpx_export_dialog, null);
builder.setView(layout);
final TextView text = (TextView) layout.findViewById(R.id.info);
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
index 224d527..dada8fd 100644
--- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
@@ -47,7 +47,7 @@ public class CoordinatesInputDialog extends Dialog {
private coordInputFormatEnum currentFormat = null;
public CoordinatesInputDialog(final AbstractActivity context, final Geocache cache, final Geopoint gp, final IGeoData geo) {
- super(context);
+ super(context, ActivityMixin.getTheme());
this.context = context;
this.geo = geo;
this.cache = cache;
diff --git a/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java b/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java
index 93d4b87..c2b722c 100644
--- a/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.ui.dialog;
+import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.utils.Log;
import android.app.ProgressDialog;
@@ -18,7 +19,7 @@ import java.lang.reflect.Method;
public class CustomProgressDialog extends ProgressDialog {
public CustomProgressDialog(Context context) {
- super(context);
+ super(context, ActivityMixin.getTheme());
}
@Override
diff --git a/main/src/cgeo/geocaching/ui/dialog/EditorDialog.java b/main/src/cgeo/geocaching/ui/dialog/EditorDialog.java
index c73e25d..4db69e5 100644
--- a/main/src/cgeo/geocaching/ui/dialog/EditorDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/EditorDialog.java
@@ -2,6 +2,7 @@ package cgeo.geocaching.ui.dialog;
import cgeo.geocaching.CacheDetailActivity;
import cgeo.geocaching.R;
+import cgeo.geocaching.activity.ActivityMixin;
import android.app.Dialog;
import android.os.Bundle;
@@ -17,7 +18,7 @@ public class EditorDialog extends Dialog {
private EditorUpdate editorUpdate;
public EditorDialog(CacheDetailActivity cacheDetailActivity, CharSequence editable) {
- super(cacheDetailActivity);
+ super(cacheDetailActivity, ActivityMixin.getTheme());
this.editorText = editable;
}
diff --git a/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java b/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java
index 9955958..862b1a0 100644
--- a/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java
+++ b/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java
@@ -7,6 +7,7 @@ import cgeo.geocaching.cgeoapplication;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
+import android.view.ContextThemeWrapper;
import android.view.View;
import android.widget.CheckBox;
@@ -15,7 +16,8 @@ public class LiveMapInfoDialogBuilder {
public static AlertDialog create(Activity activity) {
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
- final View layout = activity.getLayoutInflater().inflate(R.layout.livemapinfo, null);
+ // AlertDialog has always dark style, so we have to apply it as well always
+ final View layout = View.inflate(new ContextThemeWrapper(activity, R.style.dark), R.layout.livemapinfo, null);
builder.setView(layout);
final CheckBox checkBoxHide = (CheckBox) layout.findViewById(R.id.live_map_hint_hide);