diff options
-rw-r--r-- | src/com/android/settings/AccessibilitySettings.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java index dc29ea9..8cb04cc 100644 --- a/src/com/android/settings/AccessibilitySettings.java +++ b/src/com/android/settings/AccessibilitySettings.java @@ -179,9 +179,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements super.onResume(); loadInstalledServices(); updateAllPreferences(); - if (mServicesCategory.getPreference(0) == mNoServicesMessagePreference) { - offerInstallAccessibilitySerivceOnce(); - } + + offerInstallAccessibilitySerivceOnce(); + mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false); RotationPolicy.registerRotationPolicyListener(getActivity(), mRotationPolicyListener); @@ -465,6 +465,17 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements final boolean offerInstallService = !preferences.getBoolean( KEY_INSTALL_ACCESSIBILITY_SERVICE_OFFERED_ONCE, false); if (offerInstallService) { + String screenreaderMarketLink = SystemProperties.get( + SYSTEM_PROPERTY_MARKET_URL, + DEFAULT_SCREENREADER_MARKET_LINK); + Uri marketUri = Uri.parse(screenreaderMarketLink); + Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); + + if (getPackageManager().resolveActivity(marketIntent, 0) == null) { + // Don't show the dialog if no market app is found/installed. + return; + } + preferences.edit().putBoolean(KEY_INSTALL_ACCESSIBILITY_SERVICE_OFFERED_ONCE, true).commit(); // Notify user that they do not have any accessibility |