aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/res/layout/cachelist_spinneritem.xml6
-rw-r--r--main/res/values/changelog_master.xml4
-rw-r--r--main/res/values/preference_keys.xml1
-rw-r--r--main/res/values/themes.xml80
-rw-r--r--main/src/cgeo/geocaching/AboutActivity.java17
-rw-r--r--main/src/cgeo/geocaching/MainActivity.java12
-rw-r--r--main/src/cgeo/geocaching/TrackableActivity.java6
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java8
8 files changed, 55 insertions, 79 deletions
diff --git a/main/res/layout/cachelist_spinneritem.xml b/main/res/layout/cachelist_spinneritem.xml
index c8a589f..58e070e 100644
--- a/main/res/layout/cachelist_spinneritem.xml
+++ b/main/res/layout/cachelist_spinneritem.xml
@@ -5,18 +5,18 @@
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="?attr/dropdownListPreferredItemHeight"
android:minHeight="?attr/dropdownListPreferredItemHeight"
- style="?attr/spinnerDropDownItemStyle"
android:layout_gravity="left|center_vertical"
+ style="?attr/spinnerDropDownItemStyle"
>
<TextView
android:id="@android:id/text1"
- android:textAppearance="?android:attr/textAppearanceMedium"
tools:text="This is the title"
android:singleLine="true"
android:ellipsize="marquee"
android:layout_width="match_parent"
+ style="?attr/titleTextStyle"
android:layout_height="wrap_content" />
@@ -25,7 +25,7 @@
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
- android:textAppearance="?android:attr/textAppearanceSmall"
+ style="?attr/subtitleTextStyle"
tools:text="This is the subtitle"
android:id="@android:id/text2" />
diff --git a/main/res/values/changelog_master.xml b/main/res/values/changelog_master.xml
index 1083326..9b5a562 100644
--- a/main/res/values/changelog_master.xml
+++ b/main/res/values/changelog_master.xml
@@ -3,9 +3,11 @@
<!-- changelog for the master branch -->
<string name="changelog_master" translatable="false">
<b>Next feature release:</b>\n
+ · New: Implemented actionbar menus\n
· New: Show also own logs on friend log page\n
· New: Filter for caches which are not found\n
- · New: Show \"Import from web\" also if not yet registered\n
+ · New: Show "Import from web" also if not yet registered\n
+ · New: Popup list of changes on first start after upgrade\n
· New: Debugging option to save memory dumps on user demand\n
· Fix: Hiding own caches on opencaching\n
· Fix: Webcam caches not marked as found after posting log\n
diff --git a/main/res/values/preference_keys.xml b/main/res/values/preference_keys.xml
index 906158d..f8b9230 100644
--- a/main/res/values/preference_keys.xml
+++ b/main/res/values/preference_keys.xml
@@ -171,4 +171,5 @@
<string name="pref_ec_icons">ec_icons</string>
<string name="pref_memory_dump">memory_dump</string>
<string name="pref_appearance">pref_appearance</string>
+ <string name="pref_changelog_last_version">changelog_last_version</string>
</resources>
diff --git a/main/res/values/themes.xml b/main/res/values/themes.xml
index c5bdae1..7928e80 100644
--- a/main/res/values/themes.xml
+++ b/main/res/values/themes.xml
@@ -33,6 +33,10 @@
<!-- Identical to cgeo aside from different parent style -->
<style name="cgeo_light" parent="@style/Theme.AppCompat.Light.DarkActionBar">
+ <!-- For some reason we get the non inversed texts here (bug in abc?), explicitly set text styles -->
+ <item name="titleTextStyle">@style/TextAppearance.AppCompat.Widget.ActionMode.Title.Inverse</item>
+ <item name="subtitleTextStyle">@style/TextAppearance.AppCompat.Widget.ActionMode.Subtitle.Inverse</item>
+
<item name="android:buttonStyle">@style/button</item>
<item name="android:editTextStyle">@style/edittext</item>
@@ -79,7 +83,7 @@
<style name="light" parent="cgeo_light">
<!-- own values: colors -->
- <item name="android:windowBackground">@color/just_white</item>
+ <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>
@@ -107,7 +111,7 @@
</style>
- <style name="Theme.AppCompat.Translucent.Light" parent="Theme.AppCompat.Light.DarkActionBar">
+ <style name="cgeo.Translucent.Light" parent="light">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
@@ -115,87 +119,21 @@
</style>
- <style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat">
+ <style name="cgeo.Translucent" parent="dark">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
- <style name="cgeo_popup" parent="Theme.AppCompat.Translucent.Light">
- <!-- system elements -->
- <item name="android:buttonStyle">@style/button</item>
- <item name="android:editTextStyle">@style/edittext</item>
+ <style name="cgeo_popup" parent="cgeo.Translucent.Light">
<item name="android:windowNoTitle">true</item>
</style>
- <!-- TODO: Popup probably doesn't need all these fields set. Should delete unnecessary ones. -->
- <style name="popup_dark" parent="Theme.AppCompat.Translucent">
- <!-- system elements -->
- <item name="android:buttonStyle">@style/button</item>
- <item name="android:editTextStyle">@style/edittext</item>
- <item name="android:windowNoTitle">true</item>
-
- <!-- own values: colors -->
- <item name="just_color">@color/just_black</item>
- <item name="text_color">@color/text_dark</item>
- <item name="text_color_headline">@color/text_headline_dark</item>
- <item name="text_color_grey">@color/text_grey_dark</item>
- <item name="text_color_hint">@color/text_hint_dark</item>
- <item name="text_color_link">@color/link</item>
- <item name="button_color_enabled">@color/button_enabled</item>
- <item name="button_color_disabled">@color/button_disabled</item>
- <item name="background_color">@color/background_dark</item>
- <item name="background_color_notice">@color/background_dark_notice</item>
- <item name="background_color_transparent">@color/background_dark_transparent</item>
- <item name="separator_color">@color/separator_dark</item>
-
- <!-- own values: drawables -->
- <item name="button">@drawable/action_button_dark</item>
- <item name="input">@drawable/input_bcg_dark</item>
- <item name="inventory">@drawable/inventory_background_dark</item>
- <item name="favorite">@drawable/favorite_background_dark</item>
- <item name="favorite_r">@drawable/favorite_background_red_dark</item>
- <item name="favorite_o">@drawable/favorite_background_orange_dark</item>
- <item name="favorite_g">@drawable/favorite_background_green_dark</item>
- <item name="close">@drawable/map_close_dark</item>
- <item name="log_img_icon">@drawable/log_img_dark</item>
- <item name="actionbar_compass">@drawable/actionbar_compass_dark</item>
- <item name="progressSpinnerLarge">@android:style/Widget.ProgressBar.Large</item>
-
- <!-- own values: other -->
- <item name="compass">0</item>
+ <style name="popup_dark" parent="cgeo.Translucent">
</style>
- <!-- TODO: Popup probably doesn't need all these fields set. Should delete unnecessary ones. -->
<style name="popup_light" parent="cgeo_popup">
-
- <!-- 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="favorite">@drawable/favorite_background_light</item>
- <item name="favorite_r">@drawable/favorite_background_red_light</item>
- <item name="favorite_o">@drawable/favorite_background_orange_light</item>
- <item name="favorite_g">@drawable/favorite_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>
<style name="settings" parent="@style/Theme.AppCompat">
diff --git a/main/src/cgeo/geocaching/AboutActivity.java b/main/src/cgeo/geocaching/AboutActivity.java
index 6cda723..f46a5a6 100644
--- a/main/src/cgeo/geocaching/AboutActivity.java
+++ b/main/src/cgeo/geocaching/AboutActivity.java
@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
+import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
@@ -28,6 +29,8 @@ import java.util.Scanner;
public class AboutActivity extends AbstractViewPagerActivity<AboutActivity.Page> {
+ private static final String EXTRA_ABOUT_STARTPAGE = "cgeo.geocaching.extra.about.startpage";
+
class LicenseViewCreator extends AbstractCachingPageViewCreator<ScrollView> {
@InjectView(R.id.license) protected TextView licenseLink;
@@ -142,7 +145,13 @@ public class AboutActivity extends AbstractViewPagerActivity<AboutActivity.Page>
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.viewpager_activity);
- createViewPager(0, null);
+
+ int startPage = Page.VERSION.ordinal();
+ Bundle extras = getIntent().getExtras();
+ if (extras != null) {
+ startPage = extras.getInt(EXTRA_ABOUT_STARTPAGE, startPage);
+ }
+ createViewPager(startPage, null);
reinitializeViewPager();
}
@@ -210,4 +219,10 @@ public class AboutActivity extends AbstractViewPagerActivity<AboutActivity.Page>
return result;
}
+ public static void showChangeLog(Context fromActivity) {
+ final Intent intent = new Intent(fromActivity, AboutActivity.class);
+ intent.putExtra(EXTRA_ABOUT_STARTPAGE, Page.CHANGELOG.ordinal());
+ fromActivity.startActivity(intent);
+ }
+
}
diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java
index 473d870..8de27b0 100644
--- a/main/src/cgeo/geocaching/MainActivity.java
+++ b/main/src/cgeo/geocaching/MainActivity.java
@@ -213,6 +213,8 @@ public class MainActivity extends AbstractActionBarActivity {
Log.i("Starting " + getPackageName() + ' ' + version + " a.k.a " + Version.getVersionName(this));
init();
+
+ checkShowChangelog();
}
@Override
@@ -726,6 +728,16 @@ public class MainActivity extends AbstractActionBarActivity {
}
}
+ private void checkShowChangelog() {
+ int lastVersion = Settings.getLastChangelogVersion();
+ int version = Version.getVersionCode(this);
+ Settings.setLastChangelogVersion(version);
+ // don't show change log after new install...
+ if (lastVersion > 0 && version != lastVersion) {
+ AboutActivity.showChangeLog(this);
+ }
+ }
+
/**
* @param view
* unused here but needed since this method is referenced from XML layout
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java
index 7dfc3c1..927e3f4 100644
--- a/main/src/cgeo/geocaching/TrackableActivity.java
+++ b/main/src/cgeo/geocaching/TrackableActivity.java
@@ -96,9 +96,9 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
geocode = trackable.getGeocode();
if (StringUtils.isNotBlank(trackable.getName())) {
- setTitle(Html.fromHtml(trackable.getName()).toString());
+ getSupportActionBar().setTitle(Html.fromHtml(trackable.getName()).toString());
} else {
- setTitle(trackable.getName());
+ getSupportActionBar().setTitle(trackable.getName());
}
invalidateOptionsMenuCompatible();
@@ -121,7 +121,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
super.onCreate(savedInstanceState, R.layout.viewpager_activity);
// set title in code, as the activity needs a hard coded title due to the intent filters
- setTitle(res.getString(R.string.trackable));
+ getSupportActionBar().setTitle(res.getString(R.string.trackable));
// get parameters
final Bundle extras = getIntent().getExtras();
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index a527fc5..474558d 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -1008,4 +1008,12 @@ public class Settings {
return getString(R.string.pref_ec_icons, "1");
}
+ /* Store last version for the changelog display */
+ public static int getLastChangelogVersion() {
+ return getInt(R.string.pref_changelog_last_version, 0);
+ }
+
+ public static void setLastChangelogVersion(int version) {
+ putInt(R.string.pref_changelog_last_version, version);
+ }
}