зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1312686 - Link "default browser" setting to app info screen on Android 7+; r=sebastian
Added support for changing default browser by opening settings screen in API Levels >=24. MozReview-Commit-ID: 5rxJm6hQQ4A --HG-- extra : rebase_source : e8fc23bc658e216c04c27e10067c16abf2b0cd5c
This commit is contained in:
Родитель
d0d9f70792
Коммит
a8343a4b4b
|
@ -52,6 +52,7 @@ public class AppConstants {
|
|||
public static final boolean feature19Plus = MIN_SDK_VERSION >= 19 || (MAX_SDK_VERSION >= 19 && Build.VERSION.SDK_INT >= 19);
|
||||
public static final boolean feature20Plus = MIN_SDK_VERSION >= 20 || (MAX_SDK_VERSION >= 20 && Build.VERSION.SDK_INT >= 20);
|
||||
public static final boolean feature21Plus = MIN_SDK_VERSION >= 21 || (MAX_SDK_VERSION >= 21 && Build.VERSION.SDK_INT >= 21);
|
||||
public static final boolean feature24Plus = MIN_SDK_VERSION >= 24 || (MAX_SDK_VERSION >= 24 && Build.VERSION.SDK_INT >= 24);
|
||||
|
||||
/*
|
||||
* If our MIN_SDK_VERSION is 14 or higher, we must be an ICS device.
|
||||
|
|
|
@ -5,12 +5,14 @@
|
|||
|
||||
package org.mozilla.gecko.preferences;
|
||||
|
||||
import org.mozilla.gecko.Tabs;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.preference.Preference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import org.mozilla.gecko.AppConstants;
|
||||
import org.mozilla.gecko.Tabs;
|
||||
|
||||
class LinkPreference extends Preference {
|
||||
private String mUrl;
|
||||
|
||||
|
@ -27,9 +29,17 @@ class LinkPreference extends Preference {
|
|||
mUrl = url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open Default apps screen of Settings for API Levels>=24. Support URL will open for lower API levels
|
||||
*/
|
||||
@Override
|
||||
protected void onClick() {
|
||||
Tabs.getInstance().loadUrlInTab(mUrl);
|
||||
callChangeListener(mUrl);
|
||||
if (AppConstants.Versions.feature24Plus) {
|
||||
Intent changeDefaultApps = new Intent("android.settings.MANAGE_DEFAULT_APPS_SETTINGS");
|
||||
getContext().startActivity(changeDefaultApps);
|
||||
} else {
|
||||
Tabs.getInstance().loadUrlInTab(mUrl);
|
||||
callChangeListener(mUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче