Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ccd39cd authored by Nishith  Khanna's avatar Nishith Khanna
Browse files

Merge remote-tracking branch 'origin/lineage-20.0' into v1-t

parents a305e3d5 4f097bfe
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@
                android:id="@+id/private_dns_mode_off"
                layout="@layout/preference_widget_dialog_radiobutton"/>

            <include
                android:id="@+id/private_dns_mode_cloudflare"
                layout="@layout/preference_widget_dialog_radiobutton"/>

            <include
                android:id="@+id/private_dns_mode_opportunistic"
                layout="@layout/preference_widget_dialog_radiobutton"/>
+5 −0
Original line number Diff line number Diff line
@@ -15,6 +15,11 @@
     limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- Private DNS -->
    <string name="private_dns_mode_cloudflare" translatable="false">Cloudflare DNS</string>
    <!-- Alternative: 1dot1dot1dot1.cloudflare-dns.com -->
    <string name="private_dns_hostname_cloudflare" translatable="false">one.one.one.one</string>

    <!-- Advanced keyboard settings -->
    <string name="keyboard_extras_title">Extras</string>
    <string name="advanced_keyboard_settings_title">Advanced settings</string>
+5 −0
Original line number Diff line number Diff line
@@ -58,6 +58,11 @@
        settings:controller="com.android.settings.fuelgauge.batterytip.BatteryManagerPreferenceController"
        settings:keywords="@string/keywords_battery_adaptive_preferences" />

    <!-- Charging control -->
    <lineageos.preference.LineagePartsPreference
        android:key="charging_control"
        settings:requiresService="lineagehealth" />

    <!-- Battery light -->
    <lineageos.preference.LineagePartsPreference
        android:key="battery_lights"
+26 −2
Original line number Diff line number Diff line
@@ -72,9 +72,13 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
    // DNS_MODE -> RadioButton id
    private static final Map<Integer, Integer> PRIVATE_DNS_MAP;

    // Only used in Settings, update on additions to ConnectivitySettingsUtils
    private static final int PRIVATE_DNS_MODE_CLOUDFLARE = 4;

    static {
        PRIVATE_DNS_MAP = new HashMap<>();
        PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_OFF, R.id.private_dns_mode_off);
        PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_CLOUDFLARE, R.id.private_dns_mode_cloudflare);
        PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_OPPORTUNISTIC, R.id.private_dns_mode_opportunistic);
        PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_PROVIDER_HOSTNAME, R.id.private_dns_mode_provider);
    }
@@ -144,6 +148,15 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
        final ContentResolver contentResolver = context.getContentResolver();

        mMode = ConnectivitySettingsManager.getPrivateDnsMode(context);
        if (mMode == PRIVATE_DNS_MODE_PROVIDER_HOSTNAME) {
            final String privateDnsHostname =
                    ConnectivitySettingsManager.getPrivateDnsHostname(context);
            final String cloudflareHostname =
                    context.getString(R.string.private_dns_hostname_cloudflare);
            if (privateDnsHostname.equals(cloudflareHostname)) {
                mMode = PRIVATE_DNS_MODE_CLOUDFLARE;
            }
        }

        mEditText = view.findViewById(R.id.private_dns_mode_provider_hostname);
        mEditText.addTextChangedListener(this);
@@ -156,6 +169,9 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
        // Initial radio button text
        final RadioButton offRadioButton = view.findViewById(R.id.private_dns_mode_off);
        offRadioButton.setText(R.string.private_dns_mode_off);
        final RadioButton cloudflareRadioButton =
                view.findViewById(R.id.private_dns_mode_cloudflare);
        cloudflareRadioButton.setText(R.string.private_dns_mode_cloudflare);
        final RadioButton opportunisticRadioButton =
                view.findViewById(R.id.private_dns_mode_opportunistic);
        opportunisticRadioButton.setText(R.string.private_dns_mode_opportunistic);
@@ -181,15 +197,21 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
    public void onClick(DialogInterface dialog, int which) {
        if (which == DialogInterface.BUTTON_POSITIVE) {
            final Context context = getContext();
            int modeToSet = mMode;
            if (mMode == PRIVATE_DNS_MODE_PROVIDER_HOSTNAME) {
                // Only clickable if hostname is valid, so we could save it safely
                ConnectivitySettingsManager.setPrivateDnsHostname(context,
                        mEditText.getText().toString());
            } else if (mMode == PRIVATE_DNS_MODE_CLOUDFLARE) {
                final String cloudflareHostname =
                        context.getString(R.string.private_dns_hostname_cloudflare);
                ConnectivitySettingsManager.setPrivateDnsHostname(context, cloudflareHostname);
                modeToSet = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
            }

            FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
                    SettingsEnums.ACTION_PRIVATE_DNS_MODE, mMode);
            ConnectivitySettingsManager.setPrivateDnsMode(context, mMode);
                    SettingsEnums.ACTION_PRIVATE_DNS_MODE, modeToSet);
            ConnectivitySettingsManager.setPrivateDnsMode(context, modeToSet);
        }
    }

@@ -197,6 +219,8 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        if (checkedId == R.id.private_dns_mode_off) {
            mMode = PRIVATE_DNS_MODE_OFF;
        } else if (checkedId == R.id.private_dns_mode_cloudflare) {
            mMode = PRIVATE_DNS_MODE_CLOUDFLARE;
        } else if (checkedId == R.id.private_dns_mode_opportunistic) {
            mMode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
        } else if (checkedId == R.id.private_dns_mode_provider) {
+16 −4
Original line number Diff line number Diff line
@@ -65,6 +65,9 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
        Settings.Global.getUriFor(PRIVATE_DNS_SPECIFIER),
    };

    // Only used in Settings, update on additions to ConnectivitySettingsUtils
    private static final int PRIVATE_DNS_MODE_CLOUDFLARE = 4;

    private final Handler mHandler;
    private final ContentObserver mSettingsObserver;
    private final ConnectivityManager mConnectivityManager;
@@ -89,7 +92,7 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
            return UNSUPPORTED_ON_DEVICE;
        }
        final UserManager userManager = mContext.getSystemService(UserManager.class);
        if (userManager.isGuestUser()) return DISABLED_FOR_USER;
        if (!userManager.isAdminUser()) return DISABLED_FOR_USER;
        return AVAILABLE;
    }

@@ -129,13 +132,22 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
        switch (mode) {
            case PRIVATE_DNS_MODE_OFF:
                return res.getString(R.string.private_dns_mode_off);
            case PRIVATE_DNS_MODE_CLOUDFLARE:
            case PRIVATE_DNS_MODE_OPPORTUNISTIC:
                return dnsesResolved ? res.getString(R.string.private_dns_mode_on)
                        : res.getString(R.string.private_dns_mode_opportunistic);
            case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
                return dnsesResolved
                        ? PrivateDnsModeDialogPreference.getHostnameFromSettings(cr)
                        : res.getString(R.string.private_dns_mode_provider_failure);
                if (!dnsesResolved) {
                    return res.getString(R.string.private_dns_mode_provider_failure);
                }
                final String privateDnsHostname =
                        ConnectivitySettingsManager.getPrivateDnsHostname(mContext);
                final String cloudflareHostname =
                        res.getString(R.string.private_dns_hostname_cloudflare);
                if (privateDnsHostname.equals(cloudflareHostname)) {
                    return res.getString(R.string.private_dns_mode_cloudflare);
                }
                return PrivateDnsModeDialogPreference.getHostnameFromSettings(cr);
        }
        return "";
    }
Loading