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

Commit 2939211d authored by Alexandre Roux's avatar Alexandre Roux Committed by Alexandre Roux
Browse files

display alert dialog when switch ota server

parent acb60c30
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -312,6 +312,8 @@
    <!-- OTA server url text -->
    <!-- OTA server url text -->
    <string name="title_ota">Use staging OTA server</string>
    <string name="title_ota">Use staging OTA server</string>
    <string name="ota_summary">Change to OTA/Production server</string>
    <string name="ota_summary">Change to OTA/Production server</string>
    <string name="use_ota_staging_popup_title">You are about to connect to /e/OS test channel</string>
    <string name="use_ota_staging_popup_message">It will allow you to download and install test versions of /e/OS. Those builds may be unstable, and should be used only for test purposes. Please accept only if you know what you are doing.</string>


    <!-- Launch Dev Tools -->
    <!-- Launch Dev Tools -->
    <string name="development_tools_title">Development tools</string>
    <string name="development_tools_title">Development tools</string>
+34 −5
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


package com.android.settings.development;
package com.android.settings.development;


import android.app.AlertDialog;
import android.content.Context;
import android.content.Context;
import android.provider.Settings;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.annotation.VisibleForTesting;
@@ -24,13 +25,19 @@ import android.support.v7.preference.Preference;
import android.preference.PreferenceManager;
import android.preference.PreferenceManager;
import android.content.SharedPreferences;
import android.content.SharedPreferences;
import android.content.ContentValues;
import android.content.ContentValues;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;

import android.database.Cursor;
import android.database.Cursor;
import android.net.Uri;
import android.net.Uri;
import android.content.Context;
import android.content.Context;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.R;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;



public class ChangeSourcePreferenceController extends DeveloperOptionsPreferenceController implements
public class ChangeSourcePreferenceController extends DeveloperOptionsPreferenceController implements
        Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
        Preference.OnPreferenceChangeListener, PreferenceControllerMixin {


@@ -53,10 +60,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference
        return CHANGE_URL_KEY;
        return CHANGE_URL_KEY;
    }
    }


    @Override
   public void updateOtaServer(){
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        final boolean isEnabled = (Boolean) newValue;
        ((SwitchPreference) mPreference).setChecked(isEnabled);
        if (count(OTAProvider.CONTENT_URI)) {
        if (count(OTAProvider.CONTENT_URI)) {
            ContentValues values = new ContentValues();
            ContentValues values = new ContentValues();


@@ -72,8 +76,33 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference
            values.put(OTAProvider.Status,"true");
            values.put(OTAProvider.Status,"true");
            mContext.getContentResolver().insert(OTAProvider.CONTENT_URI, values);
            mContext.getContentResolver().insert(OTAProvider.CONTENT_URI, values);
        }
        }
   }

    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        final boolean isEnabled = (Boolean) newValue;
        ((SwitchPreference) mPreference).setChecked(isEnabled);
        if(retrieveStatus().equals("true")){
            updateOtaServer();
            return true;
            return true;
        }
        }
        new AlertDialog.Builder(mContext).
            setTitle(R.string.use_ota_staging_popup_title)
            .setMessage(mContext.getResources().getString(R.string.use_ota_staging_popup_message))
            .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener()
            {
                public void onClick(DialogInterface dialog, int which) {
                    ((SwitchPreference) mPreference).setChecked(true);
                    updateOtaServer();
                }
            }) .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener()
            {
                public void onClick(DialogInterface dialog, int which) {
                    ((SwitchPreference) mPreference).setChecked(false);
                }
            }).show();
        return false;
    }


    @Override
    @Override
    public void updateState(Preference preference) {
    public void updateState(Preference preference) {