From 167e1e79a8cd1c8314f3fd543214073c880c3a5c Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Thu, 13 Oct 2011 17:58:19 -0700 Subject: [PATCH] Clean up ApiFeatures.java Rename CupcakePlatformAdapter to ApiLevel3Adapter. Rename EclairPlatformAdapter to ApiLevel5Adapter. Rename GingerbreadPlatformAdapter to ApiLevel9Adapter. Rename ApiPlatformAdapter to ApiLevelAdapter. --- .../android/apps/mytracks/CheckUnits.java | 2 +- .../android/apps/mytracks/DeleteAllTracks.java | 2 +- .../android/apps/mytracks/DeleteTrack.java | 2 +- .../com/google/android/apps/mytracks/Eula.java | 2 +- .../google/android/apps/mytracks/MyTracks.java | 2 +- .../apps/mytracks/content/TrackDataHub.java | 2 +- .../apps/mytracks/io/docs/DocsTagBuilder.java | 2 +- .../services/TrackRecordingService.java | 10 +++++----- .../services/sensors/ZephyrMessageParser.java | 2 +- .../apps/mytracks/util/ApiFeatures.java | 18 +++++++++--------- ...tformAdapter.java => ApiLevel3Adapter.java} | 7 +++---- ...tformAdapter.java => ApiLevel5Adapter.java} | 7 +++---- ...tformAdapter.java => ApiLevel9Adapter.java} | 5 ++--- ...atformAdapter.java => ApiLevelAdapter.java} | 17 +++++++++++++++-- .../apps/mytracks/util/ApiFeaturesTest.java | 4 ++-- 15 files changed, 47 insertions(+), 37 deletions(-) rename MyTracks/src/com/google/android/apps/mytracks/util/{CupcakePlatformAdapter.java => ApiLevel3Adapter.java} (94%) rename MyTracks/src/com/google/android/apps/mytracks/util/{EclairPlatformAdapter.java => ApiLevel5Adapter.java} (87%) rename MyTracks/src/com/google/android/apps/mytracks/util/{GingerbreadPlatformAdapter.java => ApiLevel9Adapter.java} (86%) rename MyTracks/src/com/google/android/apps/mytracks/util/{ApiPlatformAdapter.java => ApiLevelAdapter.java} (87%) diff --git a/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java b/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java index f466cb322..355418599 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java +++ b/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java @@ -86,7 +86,7 @@ class CheckUnits { } private static void recordCheckPerformed(SharedPreferences preferences) { - ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges( + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges( preferences.edit().putBoolean(PREFERENCE_UNITS_CHECKED, true)); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java b/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java index 55516eb36..2338b5b39 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/DeleteAllTracks.java @@ -65,7 +65,7 @@ public class DeleteAllTracks extends Handler { SharedPreferences.Editor editor = prefs.edit(); // TODO: Go through data manager editor.putLong(context.getString(R.string.selected_track_key), -1); - ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges(editor); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); if (done != null) { Handler h = new Handler(); h.post(done); diff --git a/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java b/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java index 1b73e8f68..bc53c8fed 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java +++ b/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java @@ -108,7 +108,7 @@ public class DeleteTrack extends Activity SharedPreferences preferences = getSharedPreferences(Constants.SETTINGS_NAME, 0); if (preferences.getLong(selectedKey, -1) == deleteTrackId) { Editor editor = preferences.edit().putLong(selectedKey, -1); - ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges(editor); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/Eula.java b/MyTracks/src/com/google/android/apps/mytracks/Eula.java index c54926795..59936ce80 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/Eula.java +++ b/MyTracks/src/com/google/android/apps/mytracks/Eula.java @@ -95,7 +95,7 @@ class Eula { } private static void accept(Activity activity, SharedPreferences preferences) { - ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges( + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges( preferences.edit().putBoolean(PREFERENCE_EULA_ACCEPTED, true)); Intent startIntent = new Intent(activity, WelcomeActivity.class); activity.startActivityForResult(startIntent, Constants.WELCOME); diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java index 2071bf948..6da1bb12b 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java @@ -134,7 +134,7 @@ public class MyTracks extends TabActivity implements OnTouchListener { super.onCreate(savedInstanceState); ApiFeatures apiFeatures = ApiFeatures.getInstance(); if (!SystemUtils.isRelease(this)) { - apiFeatures.getApiPlatformAdapter().enableStrictMode(); + apiFeatures.getApiAdapter().enableStrictMode(); } tracker = GoogleAnalyticsTracker.getInstance(); diff --git a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java index 3bdd31b0c..c375f15bf 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java +++ b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java @@ -397,7 +397,7 @@ public class TrackDataHub { // Save the selection to memory and flush. selectedTrackId = trackId; - ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges( + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges( preferences.edit().putLong(SELECTED_TRACK_KEY, trackId)); // Force it to reload data from the beginning. diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/docs/DocsTagBuilder.java b/MyTracks/src/com/google/android/apps/mytracks/io/docs/DocsTagBuilder.java index 26351d508..f0cf5180f 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/docs/DocsTagBuilder.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/docs/DocsTagBuilder.java @@ -48,7 +48,7 @@ import java.util.Locale; class DocsTagBuilder { private static final DecimalFormatSymbols FORMAT_SYMBOLS = - ApiFeatures.getInstance().getApiPlatformAdapter().getDecimalFormatSymbols(Locale.ENGLISH); + ApiFeatures.getInstance().getApiAdapter().getDecimalFormatSymbols(Locale.ENGLISH); private static final NumberFormat LARGE_UNIT_FORMAT = new DecimalFormat("#,###,###.00", FORMAT_SYMBOLS); private static final NumberFormat SMALL_UNIT_FORMAT = diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java index b9d31a681..c32f88c10 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java @@ -37,7 +37,7 @@ import com.google.android.apps.mytracks.services.tasks.StatusAnnouncerFactory; import com.google.android.apps.mytracks.stats.TripStatistics; import com.google.android.apps.mytracks.stats.TripStatisticsBuilder; import com.google.android.apps.mytracks.util.ApiFeatures; -import com.google.android.apps.mytracks.util.ApiPlatformAdapter; +import com.google.android.apps.mytracks.util.ApiLevelAdapter; import com.google.android.apps.mytracks.util.LocationUtils; import com.google.android.apps.mytracks.util.StringUtils; import com.google.android.maps.mytracks.R; @@ -485,8 +485,8 @@ public class TrackRecordingService extends Service { * Shows the notification message and icon in the notification bar. */ private void showNotification() { - final ApiPlatformAdapter apiPlatformAdapter = - ApiFeatures.getInstance().getApiPlatformAdapter(); + final ApiLevelAdapter apiLevelAdapter = + ApiFeatures.getInstance().getApiAdapter(); if (isRecording) { Notification notification = new Notification( R.drawable.arrow_320, null /* tickerText */, @@ -497,10 +497,10 @@ public class TrackRecordingService extends Service { notification.setLatestEventInfo(this, getString(R.string.app_name), getString(R.string.recording_your_track), contentIntent); notification.flags += Notification.FLAG_NO_CLEAR; - apiPlatformAdapter.startForeground(this, notificationManager, 1, + apiLevelAdapter.startForeground(this, notificationManager, 1, notification); } else { - apiPlatformAdapter.stopForeground(this, notificationManager, 1); + apiLevelAdapter.stopForeground(this, notificationManager, 1); } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java index aa96f2e48..b70e0fddf 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java @@ -62,7 +62,7 @@ public class ZephyrMessageParser implements MessageParser { // 0x1A00316550003162 produces erroneous values for Cadence and needs // a workaround based on the stride counter. // Firmware values range from field 3 to 10 (inclusive) of the byte buffer. - byte[] hardwareFirmwareId = ApiFeatures.getInstance().getApiPlatformAdapter() + byte[] hardwareFirmwareId = ApiFeatures.getInstance().getApiAdapter() .copyByteArray(buffer, 3, 11); Sensor.SensorData.Builder cadence = Sensor.SensorData.newBuilder(); diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ApiFeatures.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiFeatures.java index ad87ac45a..cf84e5105 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/ApiFeatures.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiFeatures.java @@ -33,7 +33,7 @@ import android.util.Log; public class ApiFeatures { /** - * The API level of the Android version we're being run under. + * The API level of the Android version we are being run under. */ private static final int ANDROID_API_LEVEL = Integer.parseInt( Build.VERSION.SDK); @@ -41,9 +41,9 @@ public class ApiFeatures { private static ApiFeatures instance; /** - * The API platform adapter supported by this system. + * The API level adapter for the Android version we are being run under. */ - private ApiPlatformAdapter apiPlatformAdapter; + private ApiLevelAdapter apiLevelAdapter; /** * Returns the singleton instance of this class. @@ -70,18 +70,18 @@ public class ApiFeatures { // It is safe to import unsupported classes as long as we only actually // load the class when supported. if (getApiLevel() >= 9) { - apiPlatformAdapter = new GingerbreadPlatformAdapter(); + apiLevelAdapter = new ApiLevel9Adapter(); } else if (getApiLevel() >= 5) { - apiPlatformAdapter = new EclairPlatformAdapter(); + apiLevelAdapter = new ApiLevel5Adapter(); } else { - apiPlatformAdapter = new CupcakePlatformAdapter(); + apiLevelAdapter = new ApiLevel3Adapter(); } - Log.i(Constants.TAG, "Using platform adapter " + apiPlatformAdapter.getClass()); + Log.i(Constants.TAG, "Using API level adapter " + apiLevelAdapter.getClass()); } - public ApiPlatformAdapter getApiPlatformAdapter() { - return apiPlatformAdapter; + public ApiLevelAdapter getApiAdapter() { + return apiLevelAdapter; } // API Level 4 Changes diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/CupcakePlatformAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel3Adapter.java similarity index 94% rename from MyTracks/src/com/google/android/apps/mytracks/util/CupcakePlatformAdapter.java rename to MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel3Adapter.java index 835d095ab..df2615f3d 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/CupcakePlatformAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel3Adapter.java @@ -29,12 +29,11 @@ import java.text.DecimalFormatSymbols; import java.util.Locale; /** - * The Cupcake (API level 3) specific implementation of the - * {@link ApiPlatformAdapter}. - * + * API level 3 specific implementation of the {@link ApiLevelAdapter}. + * * @author Bartlomiej Niechwiej */ -public class CupcakePlatformAdapter implements ApiPlatformAdapter { +public class ApiLevel3Adapter implements ApiLevelAdapter { @Override public void startForeground(Service service, diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/EclairPlatformAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel5Adapter.java similarity index 87% rename from MyTracks/src/com/google/android/apps/mytracks/util/EclairPlatformAdapter.java rename to MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel5Adapter.java index dcb005eb6..0f963f70f 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/EclairPlatformAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel5Adapter.java @@ -20,12 +20,11 @@ import android.app.NotificationManager; import android.app.Service; /** - * The Eclair (API level 5) specific implementation of the - * {@link ApiPlatformAdapter}. - * + * API level 5 specific implementation of the {@link ApiLevelAdapter}. + * * @author Bartlomiej Niechwiej */ -public class EclairPlatformAdapter extends CupcakePlatformAdapter { +public class ApiLevel5Adapter extends ApiLevel3Adapter { @Override public void startForeground(Service service, diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/GingerbreadPlatformAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel9Adapter.java similarity index 86% rename from MyTracks/src/com/google/android/apps/mytracks/util/GingerbreadPlatformAdapter.java rename to MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel9Adapter.java index 648a4cc72..dcf2f78ce 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/GingerbreadPlatformAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevel9Adapter.java @@ -11,12 +11,11 @@ import java.util.Arrays; import java.util.Locale; /** - * The Gingerbread (API level 9) specific implememntation of the - * {@link ApiPlatformAdapter}. + * API level 9 specific implementation of the {@link ApiLevelAdapter}. * * @author Rodrigo Damazio */ -public class GingerbreadPlatformAdapter extends EclairPlatformAdapter { +public class ApiLevel9Adapter extends ApiLevel5Adapter { @Override public void applyPreferenceChanges(Editor editor) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ApiPlatformAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevelAdapter.java similarity index 87% rename from MyTracks/src/com/google/android/apps/mytracks/util/ApiPlatformAdapter.java rename to MyTracks/src/com/google/android/apps/mytracks/util/ApiLevelAdapter.java index 02a225dd5..9d66caa40 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/ApiPlatformAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiLevelAdapter.java @@ -24,15 +24,17 @@ import java.text.DecimalFormatSymbols; import java.util.Locale; /** - * A set of methods that may be implemented in a platform specific way. + * A set of methods that may be implemented differently depending on the Android API level. * * @author Bartlomiej Niechwiej */ -public interface ApiPlatformAdapter { +public interface ApiLevelAdapter { /** * Puts the specified service into foreground. * + * Due to changes in API level 5. + * * @param service the service to be put in foreground. * @param notificationManager the notification manager used to post the given * notification. @@ -44,6 +46,9 @@ public interface ApiPlatformAdapter { /** * Puts the given service into background. + * + * Due to changes in API level 5. + * * @param service the service to put into background. * @param notificationManager the notification manager to user when removing * notifications. @@ -56,11 +61,15 @@ public interface ApiPlatformAdapter { /** * Applies all changes done to the given preferences editor. * Changes may or may not be applied immediately. + * + * Due to changes in API level 9. */ void applyPreferenceChanges(SharedPreferences.Editor editor); /** * Enables strict mode where supported, only if this is a development build. + * + * Due to changes in API level 9. */ void enableStrictMode(); @@ -69,6 +78,8 @@ public interface ApiPlatformAdapter { * indexes start (inclusive) to end (exclusive). The end index must be less * than or equal to input.length. * + * Due to changes in API level 9. + * * @param input the input byte array * @param start the start index * @param end the end index @@ -80,6 +91,8 @@ public interface ApiPlatformAdapter { /** * Gets an instance of {@link DecimalFormatSymbols} for a locale. * + * Due to changes in API level 9. + * * @param locale the locale * @return a new instance of {@link DecimalFormatSymbols} */ diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/util/ApiFeaturesTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/util/ApiFeaturesTest.java index a0db9b8da..45d6e4dfe 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/util/ApiFeaturesTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/util/ApiFeaturesTest.java @@ -65,7 +65,7 @@ public class ApiFeaturesTest extends TestCase { } } - public void testGetApiPlatformAdapter() { - assertNotNull(features.getApiPlatformAdapter()); + public void testGetApiAdapter() { + assertNotNull(features.getApiAdapter()); } }