From 200ba379f477ec3124b7b18132ea783c673460d0 Mon Sep 17 00:00:00 2001 From: mohit mali Date: Fri, 26 Feb 2021 11:53:58 +0530 Subject: [PATCH 01/18] Add switch in developer option --- res/xml/development_settings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index 8a8d2d4defa..5b632135ca0 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -574,6 +574,11 @@ android:title="@string/kill_app_longpress_back" android:summary="@string/kill_app_longpress_back_summary" android:defaultValue="false" /> + + -- GitLab From c32fd063d18f1489914d21528720cc171d47cb40 Mon Sep 17 00:00:00 2001 From: mohit mali Date: Fri, 26 Feb 2021 15:37:56 +0530 Subject: [PATCH 02/18] Adding changeSource controller DevelopmentSetting --- .../ChangeSourcePreferenceController.java | 62 +++++++++++++++++++ .../DevelopmentSettingsDashboardFragment.java | 1 + 2 files changed, 63 insertions(+) create mode 100644 src/com/android/settings/development/ChangeSourcePreferenceController.java diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java new file mode 100644 index 00000000000..38800dcd89c --- /dev/null +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -0,0 +1,62 @@ +package com.android.settings.development; + +import android.content.Context; +import android.provider.Settings; +import android.support.annotation.VisibleForTesting; +import android.support.v14.preference.SwitchPreference; +import android.support.v7.preference.Preference; +import android.preference.PreferenceManager; +import android.content.SharedPreferences; + +import com.android.settings.core.PreferenceControllerMixin; +import com.android.settingslib.development.DeveloperOptionsPreferenceController; + +public class ChangeSourcePreferenceController extends DeveloperOptionsPreferenceController implements + Preference.OnPreferenceChangeListener, PreferenceControllerMixin { + + SharedPreferences preferences; + private static final String CHANGE_URL_KEY = "change_update_source"; + + @VisibleForTesting + static final int SETTING_VALUE_ON = 1; + @VisibleForTesting + static final int SETTING_VALUE_OFF = 0; + + public ChangeSourcePreferenceController(Context context) { + preferences = PreferenceManager.getDefaultSharedPreferences(context); + super(context); + } + + @Override + public String getPreferenceKey() { + return CHANGE_URL_KEY; + } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + final boolean isEnabled = (Boolean) newValue; + android.util.Log.e(TAG, "onPreferenceChange: "+isEnabled ); +// if (isEnabled) + ((SwitchPreference) mPreference).setChecked(isEnabled); +// else + +// Settings.System.putInt(mContext.getContentResolver(), +// Settings.System.SHOW_TOUCHES, isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF); + return true; + } + + @Override + public void updateState(Preference preference) { +// int showTapsMode = Settings.System.getInt(mContext.getContentResolver(), +// Settings.System.SHOW_TOUCHES, SETTING_VALUE_OFF); + ((SwitchPreference) mPreference).setChecked(preferences.getBoolean(CHANGE_URL_KEY, false)); + } + + @Override + protected void onDeveloperOptionsSwitchDisabled() { + super.onDeveloperOptionsSwitchDisabled(); + /* Settings.System.putInt(mContext.getContentResolver(), Settings.System.SHOW_TOUCHES, + SETTING_VALUE_OFF);*/ + ((SwitchPreference) mPreference).setChecked(false); + } +} diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java index f2011bc612b..cea4ed68f48 100644 --- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java @@ -456,6 +456,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra bluetoothA2dpConfigStore)); controllers.add(new BluetoothMaxConnectedAudioDevicesPreferenceController(context)); controllers.add(new ShowTapsPreferenceController(context)); + controllers.add(new ChangeSourcePreferenceController(context)); controllers.add(new PointerLocationPreferenceController(context)); controllers.add(new ShowSurfaceUpdatesPreferenceController(context)); controllers.add(new ShowLayoutBoundsPreferenceController(context)); -- GitLab From 7c05eb968d40e5bc8b94cf1b87f4a207db2bbcfe Mon Sep 17 00:00:00 2001 From: mohit mali Date: Fri, 26 Feb 2021 15:56:35 +0530 Subject: [PATCH 03/18] Adding changeSource controller DevelopmentSetting --- .../settings/development/ChangeSourcePreferenceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index 38800dcd89c..9daae709230 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -23,8 +23,8 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference static final int SETTING_VALUE_OFF = 0; public ChangeSourcePreferenceController(Context context) { - preferences = PreferenceManager.getDefaultSharedPreferences(context); super(context); + preferences = PreferenceManager.getDefaultSharedPreferences(context); } @Override -- GitLab From 71b4c14354a9a3dba1053daa83162c2495db85fd Mon Sep 17 00:00:00 2001 From: mohit mali Date: Fri, 26 Feb 2021 17:05:40 +0530 Subject: [PATCH 04/18] Adding changeSource controller DevelopmentSetting --- .../settings/development/ChangeSourcePreferenceController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index 9daae709230..bedc521b12c 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -49,6 +49,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference public void updateState(Preference preference) { // int showTapsMode = Settings.System.getInt(mContext.getContentResolver(), // Settings.System.SHOW_TOUCHES, SETTING_VALUE_OFF); + android.util.Log.e(TAG, "updateState: "+preferences.getBoolean(CHANGE_URL_KEY, false) ); ((SwitchPreference) mPreference).setChecked(preferences.getBoolean(CHANGE_URL_KEY, false)); } -- GitLab From 2332c1c0fe9245522439bca31591ebe41fbaa861 Mon Sep 17 00:00:00 2001 From: mohit mali Date: Sun, 28 Feb 2021 11:45:11 +0530 Subject: [PATCH 05/18] adding override method of DeveloperOptionPreferenceController --- .../development/ChangeSourcePreferenceController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index bedc521b12c..522d2f6e215 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -60,4 +60,13 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference SETTING_VALUE_OFF);*/ ((SwitchPreference) mPreference).setChecked(false); } + + @Override + protected void onDeveloperOptionsSwitchEnabled() { + super.onDeveloperOptionsSwitchEnabled(); + /* Settings.System.putInt(mContext.getContentResolver(), Settings.System.SHOW_TOUCHES, + SETTING_VALUE_OFF);*/ + android.util.Log.e(TAG, "onDeveloperOptionsSwitchEnabled: "+preferences.getBoolean(CHANGE_URL_KEY, false) ); + ((SwitchPreference) mPreference).setChecked(preferences.getBoolean(CHANGE_URL_KEY, false)); + } } -- GitLab From d0de4b97e82adebee604794bec49c10fe97fdaaf Mon Sep 17 00:00:00 2001 From: mohit mali Date: Tue, 2 Mar 2021 10:27:03 +0530 Subject: [PATCH 06/18] Implemented content provider for sharing the enable disable OTA function state --- .../ChangeSourcePreferenceController.java | 67 ++++++-- .../settings/development/OTAProvider.java | 143 ++++++++++++++++++ 2 files changed, 200 insertions(+), 10 deletions(-) create mode 100644 src/com/android/settings/development/OTAProvider.java diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index 522d2f6e215..e415731d4c2 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -7,6 +7,9 @@ import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.preference.PreferenceManager; import android.content.SharedPreferences; +import android.content.ContentValues; +import android.database.Cursor; +import android.net.Uri; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.development.DeveloperOptionsPreferenceController; @@ -16,6 +19,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference SharedPreferences preferences; private static final String CHANGE_URL_KEY = "change_update_source"; + private String status; @VisibleForTesting static final int SETTING_VALUE_ON = 1; @@ -35,13 +39,25 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean isEnabled = (Boolean) newValue; - android.util.Log.e(TAG, "onPreferenceChange: "+isEnabled ); -// if (isEnabled) - ((SwitchPreference) mPreference).setChecked(isEnabled); -// else + android.util.Log.e(TAG, "onPreferenceChange: " + isEnabled); + ((SwitchPreference) mPreference).setChecked(isEnabled); + if (count(OTAProvider.CONTENT_URI)) { + ContentValues values = new ContentValues(); -// Settings.System.putInt(mContext.getContentResolver(), -// Settings.System.SHOW_TOUCHES, isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF); + if (retrieveStatus().equals("true")) { + values.put(OTAProvider.Status, "false"); + getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", + new String[]{"1"}); + }else{ + values.put(OTAProvider.Status, "true"); + getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", + new String[]{"1"}); + } + } else { + ContentValues values = new ContentValues(); + values.put(OTAProvider.Status,"true"); + getContentResolver().insert(OTAProvider.CONTENT_URI, values); + } return true; } @@ -49,8 +65,12 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference public void updateState(Preference preference) { // int showTapsMode = Settings.System.getInt(mContext.getContentResolver(), // Settings.System.SHOW_TOUCHES, SETTING_VALUE_OFF); - android.util.Log.e(TAG, "updateState: "+preferences.getBoolean(CHANGE_URL_KEY, false) ); - ((SwitchPreference) mPreference).setChecked(preferences.getBoolean(CHANGE_URL_KEY, false)); + android.util.Log.e(TAG, "updateState: " + preferences.getBoolean(CHANGE_URL_KEY, false)); + if (retrieveStatus().equals("true")){ + ((SwitchPreference) mPreference).setChecked(true); + }else{ + ((SwitchPreference) mPreference).setChecked(false); + } } @Override @@ -66,7 +86,34 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference super.onDeveloperOptionsSwitchEnabled(); /* Settings.System.putInt(mContext.getContentResolver(), Settings.System.SHOW_TOUCHES, SETTING_VALUE_OFF);*/ - android.util.Log.e(TAG, "onDeveloperOptionsSwitchEnabled: "+preferences.getBoolean(CHANGE_URL_KEY, false) ); - ((SwitchPreference) mPreference).setChecked(preferences.getBoolean(CHANGE_URL_KEY, false)); +// android.util.Log.e(TAG, "onDeveloperOptionsSwitchEnabled: "+preferences.getBoolean(CHANGE_URL_KEY, false) ); + if (!count(OTAProvider.CONTENT_URI)){ + ContentValues values = new ContentValues(); + values.put(OTAProvider.Status,"false"); + getContentResolver().insert(OTAProvider.CONTENT_URI, values); + } + + } + + public boolean count(Uri uri) { + Cursor cursor = getContentResolver().query(uri, new String[]{"id"}, + null, null, null); + android.util.Log.e("TAG", "count: " + cursor.getCount()); + if (cursor.getCount() > 0) + return true; + else + return false; + } + + private String retrieveStatus(){ + Cursor c = getContentResolver().query(Uri.parse("content://custom.setting.Provider.OTA_SERVER/cte"), + null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); + if (c.moveToFirst()) { + do { + status = c.getString(c.getColumnIndex(OTAProvider.Status)); + android.util.Log.e("TAG", "onClickAddName: " + c.getString(c.getColumnIndex(MyProvider.name))); + } while (c.moveToNext()); + } + return status; } } diff --git a/src/com/android/settings/development/OTAProvider.java b/src/com/android/settings/development/OTAProvider.java new file mode 100644 index 00000000000..cc4264db18f --- /dev/null +++ b/src/com/android/settings/development/OTAProvider.java @@ -0,0 +1,143 @@ +package com.android.settings.development; + +import java.util.HashMap; + +import android.content.ContentProvider; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.SQLException; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.database.sqlite.SQLiteQueryBuilder; +import android.net.Uri; + +public class OTAProvider extends ContentProvider { + + static final String PROVIDER_NAME = "custom.setting.Provider.OTA_SERVER"; + static final String URL = "content://" + PROVIDER_NAME + "/cte"; + static final Uri CONTENT_URI = Uri.parse(URL); + + static final String id = "id"; + static final String Status = "Status"; + static final int uriCode = 1; + static final UriMatcher uriMatcher; + private static HashMap values; + static { + uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); + uriMatcher.addURI(PROVIDER_NAME, "cte", uriCode); + uriMatcher.addURI(PROVIDER_NAME, "cte/*", uriCode); + } + + @Override + public boolean onCreate() { + Context context = getContext(); + DatabaseHelper dbHelper = new DatabaseHelper(context); + db = dbHelper.getWritableDatabase(); + if (db != null) { + return true; + } + return false; + } + + @Override + public Cursor query(Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) { + SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); + qb.setTables(TABLE_NAME); + + switch (uriMatcher.match(uri)) { + case uriCode: + qb.setProjectionMap(values); + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + if (sortOrder == null || sortOrder == "") { + sortOrder = Status; + } + Cursor c = qb.query(db, projection, selection, selectionArgs, null, + null, sortOrder); + c.setNotificationUri(getContext().getContentResolver(), uri); + return c; + } + + + @Override + public String getType(Uri uri) { + switch (uriMatcher.match(uri)) { + case uriCode: + return "vnd.android.cursor.dir/cte"; + + default: + throw new IllegalArgumentException("Unsupported URI: " + uri); + } + } + + @Override + public Uri insert(Uri uri, ContentValues values) { + long rowID = db.insert(TABLE_NAME, "", values); + if (rowID > 0) { + Uri _uri = ContentUris.withAppendedId(CONTENT_URI, rowID); + getContext().getContentResolver().notifyChange(_uri, null); + return _uri; + } + throw new SQLException("Failed to add a record into " + uri); + } + + @Override + public int delete(Uri uri, String selection, String[] selectionArgs) { + int count = 0; + switch (uriMatcher.match(uri)) { + case uriCode: + count = db.delete(TABLE_NAME, selection, selectionArgs); + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + getContext().getContentResolver().notifyChange(uri, null); + return count; + } + + @Override + public int update(Uri uri, ContentValues values, String selection, + String[] selectionArgs) { + int count = 0; + switch (uriMatcher.match(uri)) { + case uriCode: + count = db.update(TABLE_NAME, values, selection, selectionArgs); + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + getContext().getContentResolver().notifyChange(uri, null); + return count; + } + + private SQLiteDatabase db; + static final String DATABASE_NAME = "mydb"; + static final String TABLE_NAME = "ota"; + static final int DATABASE_VERSION = 1; + static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME + + " (id INTEGER PRIMARY KEY AUTOINCREMENT, " + + " Status TEXT NOT NULL);"; + + private static class DatabaseHelper extends SQLiteOpenHelper { + DatabaseHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + } + + @Override + public void onCreate(SQLiteDatabase db) { + db.execSQL(CREATE_DB_TABLE); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); + onCreate(db); + } + } +} -- GitLab From e2d5e1765d282fc143af2b32a1f25e26f1aff5ff Mon Sep 17 00:00:00 2001 From: mohit mali Date: Tue, 2 Mar 2021 10:49:29 +0530 Subject: [PATCH 07/18] Implemented content provider for sharing the enable disable OTA function state --- .../development/ChangeSourcePreferenceController.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index e415731d4c2..9699e5815f5 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -28,7 +28,6 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference public ChangeSourcePreferenceController(Context context) { super(context); - preferences = PreferenceManager.getDefaultSharedPreferences(context); } @Override @@ -46,12 +45,10 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference if (retrieveStatus().equals("true")) { values.put(OTAProvider.Status, "false"); - getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", - new String[]{"1"}); + getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", new String[]{"1"}); }else{ values.put(OTAProvider.Status, "true"); - getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", - new String[]{"1"}); + getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", new String[]{"1"}); } } else { ContentValues values = new ContentValues(); @@ -106,8 +103,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference } private String retrieveStatus(){ - Cursor c = getContentResolver().query(Uri.parse("content://custom.setting.Provider.OTA_SERVER/cte"), - null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); + Cursor c = getContentResolver().query(Uri.parse("content://custom.setting.Provider.OTA_SERVER/cte"), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); if (c.moveToFirst()) { do { status = c.getString(c.getColumnIndex(OTAProvider.Status)); -- GitLab From f0e8323aeaae7b66b3a7226031fe1db032de8b4c Mon Sep 17 00:00:00 2001 From: mohit mali Date: Tue, 2 Mar 2021 11:16:30 +0530 Subject: [PATCH 08/18] Implemented content provider for sharing the enable disable OTA function state --- .../ChangeSourcePreferenceController.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index 9699e5815f5..f4d6dc432f8 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -10,6 +10,7 @@ import android.content.SharedPreferences; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; +import android.content.Context; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.development.DeveloperOptionsPreferenceController; @@ -20,6 +21,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference SharedPreferences preferences; private static final String CHANGE_URL_KEY = "change_update_source"; private String status; + private Context context; @VisibleForTesting static final int SETTING_VALUE_ON = 1; @@ -28,6 +30,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference public ChangeSourcePreferenceController(Context context) { super(context); + this.context =context; } @Override @@ -45,15 +48,15 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference if (retrieveStatus().equals("true")) { values.put(OTAProvider.Status, "false"); - getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", new String[]{"1"}); + context.getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", new String[]{"1"}); }else{ values.put(OTAProvider.Status, "true"); - getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", new String[]{"1"}); + context.getContentResolver().update(OTAProvider.CONTENT_URI, values, OTAProvider.id + "=?", new String[]{"1"}); } } else { ContentValues values = new ContentValues(); values.put(OTAProvider.Status,"true"); - getContentResolver().insert(OTAProvider.CONTENT_URI, values); + context.getContentResolver().insert(OTAProvider.CONTENT_URI, values); } return true; } @@ -87,13 +90,13 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference if (!count(OTAProvider.CONTENT_URI)){ ContentValues values = new ContentValues(); values.put(OTAProvider.Status,"false"); - getContentResolver().insert(OTAProvider.CONTENT_URI, values); + context.getContentResolver().insert(OTAProvider.CONTENT_URI, values); } } public boolean count(Uri uri) { - Cursor cursor = getContentResolver().query(uri, new String[]{"id"}, + Cursor cursor = context.getContentResolver().query(uri, new String[]{"id"}, null, null, null); android.util.Log.e("TAG", "count: " + cursor.getCount()); if (cursor.getCount() > 0) @@ -103,11 +106,11 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference } private String retrieveStatus(){ - Cursor c = getContentResolver().query(Uri.parse("content://custom.setting.Provider.OTA_SERVER/cte"), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); + Cursor c = context.getContentResolver().query(Uri.parse("content://custom.setting.Provider.OTA_SERVER/cte"), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); if (c.moveToFirst()) { do { status = c.getString(c.getColumnIndex(OTAProvider.Status)); - android.util.Log.e("TAG", "onClickAddName: " + c.getString(c.getColumnIndex(MyProvider.name))); + android.util.Log.e("TAG", "onClickAddName: " + c.getString(c.getColumnIndex(OTAProvider.Status))); } while (c.moveToNext()); } return status; -- GitLab From 01d7a9a382a94a62ecc22b5bdc22236efafdbe2b Mon Sep 17 00:00:00 2001 From: mohit mali Date: Tue, 2 Mar 2021 12:22:58 +0530 Subject: [PATCH 09/18] Adding provider in manifest --- AndroidManifest.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index f3b3d2daf43..5fa284cdd01 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -3408,6 +3408,12 @@ + + + Use staging OTA server + Change to OTA/Production server + Development tools diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index 87c1ba46e7e..44715847366 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -577,8 +577,8 @@ + android:title="@string/title_ota" + android:summary="@string/ota_summary" /> diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index dc2cb5c9e96..dd639f0a4b8 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + package com.android.settings.development; import android.content.Context; @@ -39,7 +55,6 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean isEnabled = (Boolean) newValue; - android.util.Log.e(TAG, "onPreferenceChange: " + isEnabled); ((SwitchPreference) mPreference).setChecked(isEnabled); if (count(OTAProvider.CONTENT_URI)) { ContentValues values = new ContentValues(); @@ -88,19 +103,18 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference public boolean count(Uri uri) { Cursor cursor = mContext.getContentResolver().query(uri, new String[]{"id"}, null, null, null); - android.util.Log.e("TAG", "count: " + cursor.getCount()); - if (cursor.getCount() > 0) + if (cursor.getCount() > 0) { return true; - else + }else { return false; + } } private String retrieveStatus(){ - Cursor c = mContext.getContentResolver().query(Uri.parse("content://custom.setting.Provider.OTA_SERVER/cte"), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); + Cursor c = mContext.getContentResolver().query(Uri.parse(OTAProvider.CONTENT_URI), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); if (c.moveToFirst()) { do { status = c.getString(c.getColumnIndex(OTAProvider.Status)); - android.util.Log.e("TAG", "onClickAddName: " + c.getString(c.getColumnIndex(OTAProvider.Status))); } while (c.moveToNext()); } return status; diff --git a/src/com/android/settings/development/OTAProvider.java b/src/com/android/settings/development/OTAProvider.java index cc4264db18f..a0118551103 100644 --- a/src/com/android/settings/development/OTAProvider.java +++ b/src/com/android/settings/development/OTAProvider.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + package com.android.settings.development; import java.util.HashMap; @@ -25,6 +41,13 @@ public class OTAProvider extends ContentProvider { static final int uriCode = 1; static final UriMatcher uriMatcher; private static HashMap values; + private SQLiteDatabase db; + static final String DATABASE_NAME = "mydb"; + static final String TABLE_NAME = "ota"; + static final int DATABASE_VERSION = 1; + static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME + + " (id INTEGER PRIMARY KEY AUTOINCREMENT, " + + " Status TEXT NOT NULL);"; static { uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); uriMatcher.addURI(PROVIDER_NAME, "cte", uriCode); @@ -116,13 +139,6 @@ public class OTAProvider extends ContentProvider { return count; } - private SQLiteDatabase db; - static final String DATABASE_NAME = "mydb"; - static final String TABLE_NAME = "ota"; - static final int DATABASE_VERSION = 1; - static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, " - + " Status TEXT NOT NULL);"; private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { -- GitLab From 4c6dc26f74d0e4ec0208a5ae077df818438e2034 Mon Sep 17 00:00:00 2001 From: mohit mali Date: Thu, 18 Mar 2021 16:35:40 +0530 Subject: [PATCH 13/18] Implemented suggestions --- .../development/ChangeSourcePreferenceController.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index dd639f0a4b8..09165447b4b 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -36,6 +36,7 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference SharedPreferences preferences; private static final String CHANGE_URL_KEY = "change_update_source"; + private final String UPDATE_URI ="content://custom.setting.Provider.OTA_SERVER/cte"; private String status; @VisibleForTesting @@ -111,11 +112,11 @@ public class ChangeSourcePreferenceController extends DeveloperOptionsPreference } private String retrieveStatus(){ - Cursor c = mContext.getContentResolver().query(Uri.parse(OTAProvider.CONTENT_URI), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); - if (c.moveToFirst()) { + Cursor cursor = mContext.getContentResolver().query(Uri.parse(UPDATE_URI), null, OTAProvider.id+"=?", new String[]{"1"}, OTAProvider.Status); + if (cursor.moveToFirst()) { do { - status = c.getString(c.getColumnIndex(OTAProvider.Status)); - } while (c.moveToNext()); + status = cursor.getString(cursor.getColumnIndex(OTAProvider.Status)); + } while (cursor.moveToNext()); } return status; } -- GitLab From 3c190f553b88fad3c3f8e95361d211c8acecbadb Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Fri, 2 Apr 2021 14:25:12 +0000 Subject: [PATCH 14/18] Apply 1 suggestion(s) to 1 file(s) --- .../settings/development/ChangeSourcePreferenceController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index 09165447b4b..a7136b71a92 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2017 The Android Open Source Project + * Copyright (C) 2021 ECORP SAS * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy -- GitLab From 1419c3f9a68488a32a36c389712541bc5df76c36 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Fri, 2 Apr 2021 14:25:26 +0000 Subject: [PATCH 15/18] Apply 1 suggestion(s) to 1 file(s) --- src/com/android/settings/development/OTAProvider.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/settings/development/OTAProvider.java b/src/com/android/settings/development/OTAProvider.java index a0118551103..ad57f682f69 100644 --- a/src/com/android/settings/development/OTAProvider.java +++ b/src/com/android/settings/development/OTAProvider.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2017 The Android Open Source Project + * Copyright (C) 2021 ECORP SAS * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy -- GitLab From 5b6b745dcbb06da5e217eb87904841bd217c7c49 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Fri, 2 Apr 2021 14:33:57 +0000 Subject: [PATCH 16/18] Apply 1 suggestion(s) to 1 file(s) --- .../development/DevelopmentSettingsDashboardFragment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java index cea4ed68f48..7ecc750dfba 100644 --- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2017 The Android Open Source Project + * Copyright (C) 2021 ECORP SAS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. -- GitLab From b164ea5fa1bb8430a80a2582372b669b8f7446a2 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Fri, 2 Apr 2021 14:35:21 +0000 Subject: [PATCH 17/18] Apply 1 suggestion(s) to 1 file(s) --- .../settings/development/ChangeSourcePreferenceController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/android/settings/development/ChangeSourcePreferenceController.java b/src/com/android/settings/development/ChangeSourcePreferenceController.java index a7136b71a92..7aa070378b7 100644 --- a/src/com/android/settings/development/ChangeSourcePreferenceController.java +++ b/src/com/android/settings/development/ChangeSourcePreferenceController.java @@ -1,5 +1,4 @@ /* - * Copyright (C) 2017 The Android Open Source Project * Copyright (C) 2021 ECORP SAS * * Licensed under the Apache License, Version 2.0 (the "License"); you may not -- GitLab From 4948cdc87de94fdb1cece311180e28d50e87ffe6 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Fri, 2 Apr 2021 14:36:29 +0000 Subject: [PATCH 18/18] Apply 1 suggestion(s) to 1 file(s) --- src/com/android/settings/development/OTAProvider.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/android/settings/development/OTAProvider.java b/src/com/android/settings/development/OTAProvider.java index ad57f682f69..30127bde361 100644 --- a/src/com/android/settings/development/OTAProvider.java +++ b/src/com/android/settings/development/OTAProvider.java @@ -1,5 +1,4 @@ /* - * Copyright (C) 2017 The Android Open Source Project * Copyright (C) 2021 ECORP SAS * * Licensed under the Apache License, Version 2.0 (the "License"); you may not -- GitLab