From ece37925442507a71f12a2a2f531ea213c48cad5 Mon Sep 17 00:00:00 2001 From: koem Date: Fri, 21 Jun 2013 18:57:50 -0600 Subject: Implements #750, use preference activity --- .gitignore | 1 + main/AndroidManifest.xml | 12 +- main/project/settings/makeicons1res.sh | 59 + main/project/settings/svgs/arrow.svg | 152 ++ main/project/settings/svgs/basic.svg | 155 ++ main/project/settings/svgs/cloud.svg | 66 + main/project/settings/svgs/details.svg | 82 ++ main/project/settings/svgs/eye.svg | 66 + main/project/settings/svgs/map.svg | 227 +++ main/project/settings/svgs/nut.svg | 151 ++ main/project/settings/svgs/pen.svg | 65 + main/project/settings/svgs/sdcard.svg | 72 + main/res/drawable-mdpi/settings_cloud_black.png | Bin 0 -> 427 bytes main/res/drawable-mdpi/settings_cloud_white.png | Bin 0 -> 431 bytes main/res/drawable-mdpi/settings_details_black.png | Bin 0 -> 323 bytes main/res/drawable-mdpi/settings_details_white.png | Bin 0 -> 325 bytes main/res/drawable-mdpi/settings_eye_black.png | Bin 0 -> 501 bytes main/res/drawable-mdpi/settings_eye_white.png | Bin 0 -> 514 bytes main/res/drawable-mdpi/settings_map_black.png | Bin 0 -> 685 bytes main/res/drawable-mdpi/settings_map_white.png | Bin 0 -> 831 bytes main/res/drawable-mdpi/settings_nut_black.png | Bin 0 -> 537 bytes main/res/drawable-mdpi/settings_nut_white.png | Bin 0 -> 549 bytes main/res/drawable-mdpi/settings_pen_black.png | Bin 0 -> 346 bytes main/res/drawable-mdpi/settings_pen_white.png | Bin 0 -> 351 bytes main/res/drawable-mdpi/settings_sdcard_black.png | Bin 0 -> 547 bytes main/res/drawable-mdpi/settings_sdcard_white.png | Bin 0 -> 552 bytes .../res/layout/log_signature_preference_dialog.xml | 33 + main/res/layout/number_picker_preference.xml | 47 + main/res/layout/settings_activity.xml | 54 +- main/res/layout/text_preference.xml | 22 + main/res/layout/wp_threshold_preference.xml | 26 + main/res/menu/main_activity_options.xml | 5 + main/res/values-cs/strings.xml | 42 +- main/res/values-da/strings.xml | 17 +- main/res/values-de/strings.xml | 133 +- main/res/values-es/strings.xml | 26 +- main/res/values-fr/strings.xml | 23 + main/res/values-hu/strings.xml | 37 +- main/res/values-it/strings.xml | 40 +- main/res/values-ja/strings.xml | 46 +- main/res/values-nb/strings.xml | 17 +- main/res/values-nl/strings.xml | 40 +- main/res/values-pl/strings.xml | 40 +- main/res/values-pt/strings.xml | 37 +- main/res/values-sk/strings.xml | 37 +- main/res/values-sv/strings.xml | 40 +- main/res/values/attrs.xml | 14 + main/res/values/strings.xml | 126 +- main/res/values/strings_not_translatable.xml | 9 + main/res/values/themes.xml | 32 +- main/res/xml/preferences.xml | 433 ++++++ .../cgeo/geocaching/AbstractLoggingActivity.java | 4 +- .../src/cgeo/geocaching/AbstractPopupActivity.java | 1 + main/src/cgeo/geocaching/CacheDetailActivity.java | 1 + main/src/cgeo/geocaching/CachePopup.java | 1 + main/src/cgeo/geocaching/CompassActivity.java | 1 + main/src/cgeo/geocaching/EditWaypointActivity.java | 6 +- main/src/cgeo/geocaching/Geocache.java | 1 + main/src/cgeo/geocaching/GpxFileListActivity.java | 1 + main/src/cgeo/geocaching/ImageSelectActivity.java | 1 + main/src/cgeo/geocaching/ImagesActivity.java | 4 +- main/src/cgeo/geocaching/LogCacheActivity.java | 3 +- main/src/cgeo/geocaching/LogEntry.java | 1 + main/src/cgeo/geocaching/LogTrackableActivity.java | 3 +- main/src/cgeo/geocaching/MainActivity.java | 10 +- .../cgeo/geocaching/NavigateAnyPointActivity.java | 12 +- main/src/cgeo/geocaching/SearchActivity.java | 3 +- .../src/cgeo/geocaching/SelectMapfileActivity.java | 1 + main/src/cgeo/geocaching/Settings.java | 1494 -------------------- main/src/cgeo/geocaching/SettingsActivity.java | 1069 -------------- main/src/cgeo/geocaching/StaticMapsProvider.java | 1 + .../cgeo/geocaching/activity/AbstractActivity.java | 29 +- .../cgeo/geocaching/activity/ActivityMixin.java | 34 +- .../apps/cache/navi/NavigationAppFactory.java | 2 +- main/src/cgeo/geocaching/cgData.java | 1 + main/src/cgeo/geocaching/cgeocaches.java | 1 + .../cgeo/geocaching/connector/gc/GCConnector.java | 4 +- .../geocaching/connector/gc/GCLoggingManager.java | 2 +- main/src/cgeo/geocaching/connector/gc/GCMap.java | 2 +- .../src/cgeo/geocaching/connector/gc/GCParser.java | 10 +- .../cgeo/geocaching/connector/gc/IconDecoder.java | 2 +- main/src/cgeo/geocaching/connector/gc/Login.java | 4 +- .../connector/oc/OCApiLiveConnector.java | 2 +- .../connector/oc/OCAuthorizationActivity.java | 2 +- .../cgeo/geocaching/connector/oc/OkapiClient.java | 2 +- .../cgeo/geocaching/connector/ox/OXConnector.java | 2 +- main/src/cgeo/geocaching/export/GpxExport.java | 2 +- main/src/cgeo/geocaching/files/GPXImporter.java | 2 +- .../geocaching/filter/FilterUserInterface.java | 2 +- main/src/cgeo/geocaching/gcvote/GCVote.java | 2 +- .../cgeo/geocaching/geopoint/DistanceParser.java | 3 +- main/src/cgeo/geocaching/geopoint/Units.java | 22 +- .../loaders/AddressGeocacheListLoader.java | 2 +- .../loaders/CoordsGeocacheListLoader.java | 2 +- .../loaders/HistoryGeocacheListLoader.java | 2 +- .../loaders/KeywordGeocacheListLoader.java | 2 +- .../loaders/NextPageGeocacheListLoader.java | 2 +- .../loaders/OfflineGeocacheListLoader.java | 2 +- .../loaders/OwnerGeocacheListLoader.java | 2 +- .../loaders/RemoveFromHistoryLoader.java | 2 +- .../loaders/UsernameGeocacheListLoader.java | 2 +- main/src/cgeo/geocaching/maps/CGeoMap.java | 2 +- main/src/cgeo/geocaching/maps/CachesOverlay.java | 2 +- .../cgeo/geocaching/maps/MapProviderFactory.java | 2 +- main/src/cgeo/geocaching/maps/PositionOverlay.java | 2 +- .../cgeo/geocaching/maps/google/GoogleMapView.java | 2 +- .../maps/mapsforge/MapsforgeMapProvider.java | 2 +- .../maps/mapsforge/MapsforgeMapView.java | 2 +- .../maps/mapsforge/v024/MapsforgeMapView024.java | 2 +- main/src/cgeo/geocaching/network/Network.java | 2 +- .../settings/AuthorizeOcDePreference.java | 41 + .../settings/AuthorizeTwitterPreference.java | 41 + .../settings/CheckBoxWithPopupPreference.java | 93 ++ .../settings/CheckGcCredentialsPreference.java | 123 ++ .../settings/EditPasswordPreference.java | 29 + .../cgeo/geocaching/settings/InfoPreference.java | 91 ++ .../settings/LogSignaturePreference.java | 60 + .../geocaching/settings/NewSettingsActivity.java | 524 +++++++ .../settings/NumberPickerPreference.java | 93 ++ .../settings/RegisterSend2CgeoPreference.java | 122 ++ main/src/cgeo/geocaching/settings/Settings.java | 1186 ++++++++++++++++ .../cgeo/geocaching/settings/SettingsActivity.java | 1073 ++++++++++++++ .../cgeo/geocaching/settings/TextPreference.java | 86 ++ .../geocaching/settings/WpThresholdPreference.java | 73 + main/src/cgeo/geocaching/speech/SpeechService.java | 2 +- main/src/cgeo/geocaching/speech/TextFactory.java | 22 +- main/src/cgeo/geocaching/twitter/Twitter.java | 7 +- .../twitter/TwitterAuthorizationActivity.java | 2 +- main/src/cgeo/geocaching/ui/CacheListAdapter.java | 2 +- main/src/cgeo/geocaching/ui/CompassMiniView.java | 2 +- main/src/cgeo/geocaching/ui/LoggingUI.java | 2 +- .../ui/dialog/CoordinatesInputDialog.java | 4 +- .../ui/dialog/LiveMapInfoDialogBuilder.java | 2 +- main/src/cgeo/geocaching/utils/GeoDirHandler.java | 2 +- main/src/cgeo/geocaching/utils/Log.java | 6 +- .../cgeo/geocaching/utils/LogTemplateProvider.java | 2 +- tests/src/cgeo/geocaching/SettingsTest.java | 1 + .../cgeo/geocaching/StaticMapsProviderTest.java | 5 +- tests/src/cgeo/geocaching/cgeoApplicationTest.java | 7 +- .../geocaching/connector/gc/GCConnectorTest.java | 2 +- .../cgeo/geocaching/connector/gc/GCParserTest.java | 2 +- .../src/cgeo/geocaching/files/GPXImporterTest.java | 2 +- tests/src/cgeo/geocaching/geopoint/UnitsTest.java | 28 +- .../cgeo/geocaching/speech/TextFactoryTest.java | 6 +- tests/src/cgeo/geocaching/test/mock/GC2CJPF.java | 4 +- tests/src/cgeo/geocaching/twitter/TwitterTest.java | 26 +- 146 files changed, 6096 insertions(+), 2947 deletions(-) create mode 100755 main/project/settings/makeicons1res.sh create mode 100644 main/project/settings/svgs/arrow.svg create mode 100644 main/project/settings/svgs/basic.svg create mode 100644 main/project/settings/svgs/cloud.svg create mode 100644 main/project/settings/svgs/details.svg create mode 100644 main/project/settings/svgs/eye.svg create mode 100644 main/project/settings/svgs/map.svg create mode 100644 main/project/settings/svgs/nut.svg create mode 100644 main/project/settings/svgs/pen.svg create mode 100644 main/project/settings/svgs/sdcard.svg create mode 100644 main/res/drawable-mdpi/settings_cloud_black.png create mode 100644 main/res/drawable-mdpi/settings_cloud_white.png create mode 100644 main/res/drawable-mdpi/settings_details_black.png create mode 100644 main/res/drawable-mdpi/settings_details_white.png create mode 100644 main/res/drawable-mdpi/settings_eye_black.png create mode 100644 main/res/drawable-mdpi/settings_eye_white.png create mode 100644 main/res/drawable-mdpi/settings_map_black.png create mode 100644 main/res/drawable-mdpi/settings_map_white.png create mode 100644 main/res/drawable-mdpi/settings_nut_black.png create mode 100644 main/res/drawable-mdpi/settings_nut_white.png create mode 100644 main/res/drawable-mdpi/settings_pen_black.png create mode 100644 main/res/drawable-mdpi/settings_pen_white.png create mode 100644 main/res/drawable-mdpi/settings_sdcard_black.png create mode 100644 main/res/drawable-mdpi/settings_sdcard_white.png create mode 100644 main/res/layout/log_signature_preference_dialog.xml create mode 100644 main/res/layout/number_picker_preference.xml create mode 100644 main/res/layout/text_preference.xml create mode 100644 main/res/layout/wp_threshold_preference.xml create mode 100644 main/res/xml/preferences.xml delete mode 100644 main/src/cgeo/geocaching/Settings.java delete mode 100644 main/src/cgeo/geocaching/SettingsActivity.java create mode 100644 main/src/cgeo/geocaching/settings/AuthorizeOcDePreference.java create mode 100644 main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java create mode 100644 main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java create mode 100644 main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java create mode 100644 main/src/cgeo/geocaching/settings/EditPasswordPreference.java create mode 100644 main/src/cgeo/geocaching/settings/InfoPreference.java create mode 100644 main/src/cgeo/geocaching/settings/LogSignaturePreference.java create mode 100644 main/src/cgeo/geocaching/settings/NewSettingsActivity.java create mode 100644 main/src/cgeo/geocaching/settings/NumberPickerPreference.java create mode 100644 main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java create mode 100644 main/src/cgeo/geocaching/settings/Settings.java create mode 100644 main/src/cgeo/geocaching/settings/SettingsActivity.java create mode 100644 main/src/cgeo/geocaching/settings/TextPreference.java create mode 100644 main/src/cgeo/geocaching/settings/WpThresholdPreference.java diff --git a/.gitignore b/.gitignore index c58fc75..3bf3b22 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ gen/ /main/project/localization/*.missing /main/project/attributes/drawable-mdpi/ /main/project/attributes/iconlist1res.html +/main/project/settings/drawable-mdpi/ /main/local.properties /main/private.properties /main/res/values/mapsapikey.xml diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index b30ed20..034ecd0 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -6,7 +6,7 @@ android:versionName="developer build" > @@ -131,11 +131,17 @@ android:windowSoftInputMode="stateHidden" > + + - \ No newline at end of file + diff --git a/main/project/settings/makeicons1res.sh b/main/project/settings/makeicons1res.sh new file mode 100755 index 0000000..4d762cf --- /dev/null +++ b/main/project/settings/makeicons1res.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# +# creates attribute icons in one resolution only + +require () { + hash $1 2>&- || { echo >&2 "I require $1 but it's not installed. Aborting."; exit 1; } +} + +require optipng +#part of ImageMagick package +require convert +#part of ImageMagick package +require composite +require sed + +# directory for icons +ICONDIR="./drawable-mdpi" +# size of the image itself (inside border) +IMGSIZE=24 +# size of the whole icon +ICONSIZE=48 + +# create output directory if missing +[ -d $ICONDIR ] || mkdir $ICONDIR + +if [ $# -gt 0 ]; then + svgs="$@" +else + svgs="svgs/*.svg" +fi + +convert -size ${ICONSIZE}x${ICONSIZE} xc:none canvas.png + +for s in $svgs; do + n=$ICONDIR/settings_`basename "$s" | sed "s/\.svg//"` + + # don't draw icons if svg is older than icon + [ -f "${n}.png" ] && [ "$s" -ot "${n}.png" ] && continue + + echo "drawing $n" + + # white + + sed -e "s/fill:#....../fill:#ffffff/g" "$s" > tmp.svg + convert -density 200 -background none tmp.svg -fill black -resize ${IMGSIZE}x${IMGSIZE} tmp.png + composite -gravity center tmp.png canvas.png "${n}_white.png" + optipng -quiet "${n}_white.png" + + # black + + sed -e "s/fill:#....../fill:#000000/g" "$s" > tmp.svg + convert -density 200 -background none tmp.svg -fill black -resize ${IMGSIZE}x${IMGSIZE} tmp.png + composite -gravity center tmp.png canvas.png "${n}_black.png" + optipng -quiet "${n}_black.png" +done + + +rm canvas.png tmp.png tmp.svg + diff --git a/main/project/settings/svgs/arrow.svg b/main/project/settings/svgs/arrow.svg new file mode 100644 index 0000000..35ad995 --- /dev/null +++ b/main/project/settings/svgs/arrow.svg @@ -0,0 +1,152 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/project/settings/svgs/basic.svg b/main/project/settings/svgs/basic.svg new file mode 100644 index 0000000..e1c0c7a --- /dev/null +++ b/main/project/settings/svgs/basic.svg @@ -0,0 +1,155 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/project/settings/svgs/cloud.svg b/main/project/settings/svgs/cloud.svg new file mode 100644 index 0000000..7f39fe7 --- /dev/null +++ b/main/project/settings/svgs/cloud.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/main/project/settings/svgs/details.svg b/main/project/settings/svgs/details.svg new file mode 100644 index 0000000..70a9e9a --- /dev/null +++ b/main/project/settings/svgs/details.svg @@ -0,0 +1,82 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/main/project/settings/svgs/eye.svg b/main/project/settings/svgs/eye.svg new file mode 100644 index 0000000..eb87b56 --- /dev/null +++ b/main/project/settings/svgs/eye.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/main/project/settings/svgs/map.svg b/main/project/settings/svgs/map.svg new file mode 100644 index 0000000..5d75947 --- /dev/null +++ b/main/project/settings/svgs/map.svg @@ -0,0 +1,227 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/project/settings/svgs/nut.svg b/main/project/settings/svgs/nut.svg new file mode 100644 index 0000000..f2c1d83 --- /dev/null +++ b/main/project/settings/svgs/nut.svg @@ -0,0 +1,151 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main/project/settings/svgs/pen.svg b/main/project/settings/svgs/pen.svg new file mode 100644 index 0000000..9a69a47 --- /dev/null +++ b/main/project/settings/svgs/pen.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/main/project/settings/svgs/sdcard.svg b/main/project/settings/svgs/sdcard.svg new file mode 100644 index 0000000..7177dce --- /dev/null +++ b/main/project/settings/svgs/sdcard.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/main/res/drawable-mdpi/settings_cloud_black.png b/main/res/drawable-mdpi/settings_cloud_black.png new file mode 100644 index 0000000..e162a32 Binary files /dev/null and b/main/res/drawable-mdpi/settings_cloud_black.png differ diff --git a/main/res/drawable-mdpi/settings_cloud_white.png b/main/res/drawable-mdpi/settings_cloud_white.png new file mode 100644 index 0000000..385623c Binary files /dev/null and b/main/res/drawable-mdpi/settings_cloud_white.png differ diff --git a/main/res/drawable-mdpi/settings_details_black.png b/main/res/drawable-mdpi/settings_details_black.png new file mode 100644 index 0000000..e40ed0a Binary files /dev/null and b/main/res/drawable-mdpi/settings_details_black.png differ diff --git a/main/res/drawable-mdpi/settings_details_white.png b/main/res/drawable-mdpi/settings_details_white.png new file mode 100644 index 0000000..84c5145 Binary files /dev/null and b/main/res/drawable-mdpi/settings_details_white.png differ diff --git a/main/res/drawable-mdpi/settings_eye_black.png b/main/res/drawable-mdpi/settings_eye_black.png new file mode 100644 index 0000000..785cd4d Binary files /dev/null and b/main/res/drawable-mdpi/settings_eye_black.png differ diff --git a/main/res/drawable-mdpi/settings_eye_white.png b/main/res/drawable-mdpi/settings_eye_white.png new file mode 100644 index 0000000..5edb416 Binary files /dev/null and b/main/res/drawable-mdpi/settings_eye_white.png differ diff --git a/main/res/drawable-mdpi/settings_map_black.png b/main/res/drawable-mdpi/settings_map_black.png new file mode 100644 index 0000000..db326da Binary files /dev/null and b/main/res/drawable-mdpi/settings_map_black.png differ diff --git a/main/res/drawable-mdpi/settings_map_white.png b/main/res/drawable-mdpi/settings_map_white.png new file mode 100644 index 0000000..b2a95ab Binary files /dev/null and b/main/res/drawable-mdpi/settings_map_white.png differ diff --git a/main/res/drawable-mdpi/settings_nut_black.png b/main/res/drawable-mdpi/settings_nut_black.png new file mode 100644 index 0000000..e69d180 Binary files /dev/null and b/main/res/drawable-mdpi/settings_nut_black.png differ diff --git a/main/res/drawable-mdpi/settings_nut_white.png b/main/res/drawable-mdpi/settings_nut_white.png new file mode 100644 index 0000000..75481b8 Binary files /dev/null and b/main/res/drawable-mdpi/settings_nut_white.png differ diff --git a/main/res/drawable-mdpi/settings_pen_black.png b/main/res/drawable-mdpi/settings_pen_black.png new file mode 100644 index 0000000..dde10bb Binary files /dev/null and b/main/res/drawable-mdpi/settings_pen_black.png differ diff --git a/main/res/drawable-mdpi/settings_pen_white.png b/main/res/drawable-mdpi/settings_pen_white.png new file mode 100644 index 0000000..50a8644 Binary files /dev/null and b/main/res/drawable-mdpi/settings_pen_white.png differ diff --git a/main/res/drawable-mdpi/settings_sdcard_black.png b/main/res/drawable-mdpi/settings_sdcard_black.png new file mode 100644 index 0000000..b1c371b Binary files /dev/null and b/main/res/drawable-mdpi/settings_sdcard_black.png differ diff --git a/main/res/drawable-mdpi/settings_sdcard_white.png b/main/res/drawable-mdpi/settings_sdcard_white.png new file mode 100644 index 0000000..693f555 Binary files /dev/null and b/main/res/drawable-mdpi/settings_sdcard_white.png differ diff --git a/main/res/layout/log_signature_preference_dialog.xml b/main/res/layout/log_signature_preference_dialog.xml new file mode 100644 index 0000000..a5048a4 --- /dev/null +++ b/main/res/layout/log_signature_preference_dialog.xml @@ -0,0 +1,33 @@ + + + + + + + +