From 9442416844847238a370d5c350da47d782a3cc07 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Fri, 22 Nov 2013 11:43:49 -0800 Subject: [PATCH] Remove choose activity type dialog beore starting a new one. Remove clear button next to text edit for api level < 11 --- .../ChooseActivityTypeDialogFragment.java | 24 ++++++++++++------- .../settings/RecordingSettingsActivity.java | 6 +++++ .../apps/mytracks/util/Api11Adapter.java | 5 ++++ .../apps/mytracks/util/Api8Adapter.java | 5 ++++ .../apps/mytracks/util/ApiAdapter.java | 9 +++++++ 5 files changed, 40 insertions(+), 9 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java index c6e878991..6f10a5caf 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/ChooseActivityTypeDialogFragment.java @@ -16,6 +16,7 @@ package com.google.android.apps.mytracks.fragments; +import com.google.android.apps.mytracks.util.ApiAdapterFactory; import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.apps.mytracks.util.StringUtils; import com.google.android.apps.mytracks.util.TrackIconUtils; @@ -106,16 +107,21 @@ public class ChooseActivityTypeDialogFragment extends DialogFragment { ImageButton imageButton = (ImageButton) view.findViewById( R.id.choose_activity_type_weight_image_button); - imageButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - double weightDefault = PreferencesUtils.WEIGHT_DEFAULT; - if (!PreferencesUtils.isMetricUnits(activity)) { - weightDefault *= UnitConversions.KG_TO_LB; + if (ApiAdapterFactory.getApiAdapter().showEditTextClearButton()) { + imageButton.setVisibility(View.VISIBLE); + imageButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + double weightDefault = PreferencesUtils.WEIGHT_DEFAULT; + if (!PreferencesUtils.isMetricUnits(activity)) { + weightDefault *= UnitConversions.KG_TO_LB; + } + weight.setText(StringUtils.formatWeight(weightDefault)); } - weight.setText(StringUtils.formatWeight(weightDefault)); - } - }); + }); + } else { + imageButton.setVisibility(View.GONE); + } List imageIds = new ArrayList(); for (String iconValue : TrackIconUtils.getAllIconValues()) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java index 52e64c28d..2ccc69d97 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/RecordingSettingsActivity.java @@ -359,7 +359,13 @@ public class RecordingSettingsActivity extends AbstractSettingsActivity } } + @SuppressWarnings("deprecation") public void showChooseActivityTypeDialog() { + try { + removeDialog(DIALOG_CHOOSE_ACTIVITY); + } catch (Exception e) { + // Can safely ignore. + } showDialog(DIALOG_CHOOSE_ACTIVITY); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java index 8cda96100..071ed56fc 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java @@ -178,6 +178,11 @@ public class Api11Adapter extends Api10Adapter { return false; } + @Override + public boolean showEditTextClearButton() { + return true; + } + @Override public void setTabBackground(TabWidget tabWidget) { for (int i = 0; i < tabWidget.getChildCount(); i++) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java index c7e610225..58dd5b567 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java @@ -144,6 +144,11 @@ public class Api8Adapter implements ApiAdapter { return true; } + @Override + public boolean showEditTextClearButton() { + return false; + } + @Override public void setTabBackground(TabWidget tabWidget) { // Do nothing diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java index 5f9848345..2e42bafa4 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java @@ -176,8 +176,17 @@ public interface ApiAdapter { */ public boolean isSpinnerBackgroundLight(); + /** + * True to display a clear button on the right of the edit text. + *

+ * Due to changes in API level 11. + */ + public boolean showEditTextClearButton(); + /** * Sets the tab background. + *

+ * Due to changes in API level 11. * * @param tabWidget the tab widget */