diff options
| -rw-r--r-- | main/res/layout/cachelist_spinneritem.xml | 6 | ||||
| -rw-r--r-- | main/res/values/changelog_master.xml | 4 | ||||
| -rw-r--r-- | main/res/values/preference_keys.xml | 1 | ||||
| -rw-r--r-- | main/res/values/themes.xml | 80 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/AboutActivity.java | 17 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/MainActivity.java | 12 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/TrackableActivity.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/settings/Settings.java | 8 |
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); + } } |
