diff options
author | Stephen Bird <sbird@cyngn.com> | 2016-03-29 10:21:53 -0700 |
---|---|---|
committer | Richard MacGregor <rmacgregor@cyngn.com> | 2016-04-26 16:33:53 -0700 |
commit | bf43c1ffec4087c201b629fdfeafa0a8c32e1570 (patch) | |
tree | ee6faec18b819eb0dfb9b0db8ea66647cdb97ad9 | |
parent | e79072206f63d9654dd3ca31ea53ae77e64107f4 (diff) | |
download | android_packages_apps_Dialer-bf43c1ffec4087c201b629fdfeafa0a8c32e1570.tar.gz android_packages_apps_Dialer-bf43c1ffec4087c201b629fdfeafa0a8c32e1570.tar.bz2 android_packages_apps_Dialer-bf43c1ffec4087c201b629fdfeafa0a8c32e1570.zip |
Hide coachmark if dialpad opens with text pre-filled
Change-Id: Icaed04966b43963b2fb17db47faa87343b63b5e4
-rw-r--r-- | src/com/android/dialer/dialpad/DialpadFragment.java | 25 | ||||
-rw-r--r-- | src/com/android/dialer/util/CoachMarkDrawableHelper.java | 3 |
2 files changed, 23 insertions, 5 deletions
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java index 31c59ddd8..3d0045910 100644 --- a/src/com/android/dialer/dialpad/DialpadFragment.java +++ b/src/com/android/dialer/dialpad/DialpadFragment.java @@ -28,6 +28,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -90,6 +91,7 @@ import com.android.phone.common.CallLogAsync; import com.android.phone.common.animation.AnimUtils; import com.android.phone.common.dialpad.DialpadKeyButton; import com.android.phone.common.dialpad.DialpadView; +import com.android.phone.common.incall.CallMethodUtils; import com.android.phone.common.incall.CallMethodHelper; import com.android.phone.common.incall.CallMethodInfo; import com.android.phone.common.incall.CreditBarHelper; @@ -487,9 +489,26 @@ public class DialpadFragment extends Fragment onCallMethodChanged(callMethodInfos.get(mCurrentCallMethodInfo.mComponent)); } - String unFormattedString = getString(R.string.provider_help); - CoachMarkDrawableHelper.assignViewTreeObserver(mDialpadView, getActivity(), fragmentView, - false, fragmentView.findViewById(R.id.listen_dismiss), unFormattedString); + + Activity act = getActivity(); + if (act != null) { + if (mDigitsFilledByIntent) { + String unFormattedString = getString(R.string.provider_help); + CoachMarkDrawableHelper.assignViewTreeObserver(mDialpadView, act, fragmentView, + false, fragmentView.findViewById(R.id.listen_dismiss), unFormattedString); + } else { + SharedPreferences pref = act.getSharedPreferences( + DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE); + if (CoachMarkDrawableHelper.shouldShowCoachMark(pref) != null) { + // We would have shown the coachmark here, but some text is in our way + // at this point the user will have seen the spinner so we should + // hide the coachmark now and forever. + pref.edit().putBoolean(CallMethodUtils.PREF_SPINNER_COACHMARK_SHOW, false) + .apply(); + } + + } + } } public void updateSpinner(String lastKnownMethod, HashMap<ComponentName, CallMethodInfo> diff --git a/src/com/android/dialer/util/CoachMarkDrawableHelper.java b/src/com/android/dialer/util/CoachMarkDrawableHelper.java index bae9767dc..dba3b9016 100644 --- a/src/com/android/dialer/util/CoachMarkDrawableHelper.java +++ b/src/com/android/dialer/util/CoachMarkDrawableHelper.java @@ -89,8 +89,7 @@ public class CoachMarkDrawableHelper { } } - private static CallMethodInfo shouldShowCoachMark(SharedPreferences pref) { - + public static CallMethodInfo shouldShowCoachMark(SharedPreferences pref) { String lastProvider = pref.getString(CallMethodUtils.PREF_LAST_ENABLED_PROVIDER, null); boolean showCoachmark = pref.getBoolean(CallMethodUtils.PREF_SPINNER_COACHMARK_SHOW, false); |