Skip to content

Commit 5927d95

Browse files
dsandlerAndroid (Google) Code Review
authored andcommitted
Merge "Migrate Dreams default settings to DatabaseHelper." into jb-mr1-dev
2 parents 1ae8686 + fdb7c36 commit 5927d95

File tree

5 files changed

+52
-24
lines changed

5 files changed

+52
-24
lines changed

core/java/android/service/dreams/DreamManagerService.java

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
import java.io.FileDescriptor;
66
import java.io.PrintWriter;
77

8-
import com.android.internal.view.IInputMethod;
9-
108
import android.content.ComponentName;
119
import android.content.Context;
1210
import android.content.Intent;
@@ -16,34 +14,32 @@
1614
import android.os.IBinder;
1715
import android.os.RemoteException;
1816
import android.os.ServiceManager;
19-
import android.os.SystemClock;
2017
import android.provider.Settings;
21-
import android.util.Log;
2218
import android.util.Slog;
2319
import android.view.IWindowManager;
2420
import android.view.WindowManager;
2521

2622
/**
27-
*
23+
*
2824
* @hide
2925
*
3026
*/
3127

32-
public class DreamManagerService
33-
extends IDreamManager.Stub
28+
public class DreamManagerService
29+
extends IDreamManager.Stub
3430
implements ServiceConnection
3531
{
3632
private static final boolean DEBUG = true;
3733
private static final String TAG = "DreamManagerService";
38-
34+
3935
final Object mLock = new Object[0];
4036

4137
private Context mContext;
4238
private IWindowManager mIWindowManager;
43-
39+
4440
private ComponentName mCurrentDreamComponent;
4541
private IDreamService mCurrentDream;
46-
private Binder mCurrentDreamToken;
42+
private Binder mCurrentDreamToken;
4743

4844
public DreamManagerService(Context context) {
4945
if (DEBUG) Slog.v(TAG, "DreamManagerService startup");
@@ -60,6 +56,7 @@ private void checkPermission(String permission) {
6056
}
6157

6258
// IDreamManager method
59+
@Override
6360
public void dream() {
6461
ComponentName name = getDreamComponent();
6562
if (name != null) {
@@ -75,26 +72,26 @@ public void dream() {
7572
}
7673

7774
// IDreamManager method
75+
@Override
7876
public void setDreamComponent(ComponentName name) {
7977
Settings.Secure.putString(mContext.getContentResolver(), SCREENSAVER_COMPONENT, name.flattenToString());
8078
}
81-
79+
8280
// IDreamManager method
81+
@Override
8382
public ComponentName getDreamComponent() {
84-
// TODO(dsandler) don't load this every time, watch the value
83+
// TODO(dsandler) don't load this every time, watch the value
8584
String component = Settings.Secure.getString(mContext.getContentResolver(), SCREENSAVER_COMPONENT);
86-
if (component == null) {
87-
component = mContext.getResources().getString(
88-
com.android.internal.R.string.config_defaultDreamComponent);
89-
}
9085
if (component != null) {
9186
return ComponentName.unflattenFromString(component);
9287
} else {
88+
// We rely on DatabaseHelper to set a sane default for us when the settings DB is upgraded
9389
return null;
9490
}
9591
}
96-
92+
9793
// IDreamManager method
94+
@Override
9895
public void testDream(ComponentName name) {
9996
if (DEBUG) Slog.v(TAG, "startDream name=" + name
10097
+ " pid=" + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid());
@@ -110,6 +107,7 @@ public void testDream(ComponentName name) {
110107
}
111108

112109
// IDreamManager method
110+
@Override
113111
public void awaken() {
114112
if (DEBUG) Slog.v(TAG, "awaken()");
115113
synchronized (mLock) {
@@ -123,6 +121,7 @@ public void awaken() {
123121
}
124122

125123
// IDreamManager method
124+
@Override
126125
public boolean isDreaming() {
127126
return mCurrentDream != null;
128127
}
@@ -141,14 +140,14 @@ public void bindDreamComponentL(ComponentName componentName, boolean test) {
141140
mCurrentDreamComponent = componentName;
142141
mCurrentDreamToken = new Binder();
143142
try {
144-
if (DEBUG) Slog.v(TAG, "Adding window token: " + mCurrentDreamToken
143+
if (DEBUG) Slog.v(TAG, "Adding window token: " + mCurrentDreamToken
145144
+ " for window type: " + WindowManager.LayoutParams.TYPE_DREAM);
146145
mIWindowManager.addWindowToken(mCurrentDreamToken,
147146
WindowManager.LayoutParams.TYPE_DREAM);
148147
} catch (RemoteException e) {
149148
Slog.w(TAG, "Unable to add window token. Proceed at your own risk.");
150149
}
151-
150+
152151
if (!mContext.bindService(intent, this, Context.BIND_AUTO_CREATE)) {
153152
Slog.w(TAG, "unable to bind service: " + componentName);
154153
}
@@ -172,7 +171,7 @@ public void onServiceDisconnected(ComponentName name) {
172171
if (DEBUG) Slog.v(TAG, "disconnected: " + name + " service: " + mCurrentDream);
173172
// Only happens in exceptional circumstances
174173
}
175-
174+
176175
@Override
177176
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
178177
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);

core/res/res/values/config.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -853,8 +853,6 @@
853853

854854
<!-- enable screen saver feature -->
855855
<bool name="config_enableDreams">true</bool>
856-
<!-- Name of screensaver components to look for if none has been chosen by the user -->
857-
<string name="config_defaultDreamComponent" translatable="false">com.google.android.deskclock/com.android.deskclock.Screensaver</string>
858856

859857
<!-- Base "touch slop" value used by ViewConfiguration as a
860858
movement threshold where scrolling should begin. -->

core/res/res/values/public.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1557,7 +1557,6 @@
15571557
<java-symbol type="style" name="Theme.Toast" />
15581558
<java-symbol type="xml" name="storage_list" />
15591559
<java-symbol type="bool" name="config_enableDreams" />
1560-
<java-symbol type="string" name="config_defaultDreamComponent" />
15611560
<java-symbol type="string" name="enable_explore_by_touch_warning_title" />
15621561
<java-symbol type="string" name="enable_explore_by_touch_warning_message" />
15631562

packages/SettingsProvider/res/values/defaults.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,12 @@
151151
<!-- Number of retries for connecting to DHCP.
152152
Value here is the same as WifiStateMachine.DEFAULT_MAX_DHCP_RETRIES -->
153153
<integer name="def_max_dhcp_retries">9</integer>
154+
155+
<!-- Dreams (screen saver) default settings -->
156+
<!-- Whether the feature is enabled when charging (Settings.Secure.SCREENSAVER_ENABLED) -->
157+
<bool name="def_screensaver_enabled">true</bool>
158+
<!-- Whether the feature activates when docked (SCREENSAVER_ACTIVATE_ON_DOCK) -->
159+
<bool name="def_screensaver_activate_on_dock">true</bool>
160+
<!-- ComponentName of the default screen saver (Settings.Secure.SCREENSAVER_COMPONENT) -->
161+
<string name="def_screensaver_component">com.google.android.deskclock/com.android.deskclock.Screensaver</string>
154162
</resources>

packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
6565
// database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion'
6666
// is properly propagated through your change. Not doing so will result in a loss of user
6767
// settings.
68-
private static final int DATABASE_VERSION = 79;
68+
private static final int DATABASE_VERSION = 80;
6969

7070
private Context mContext;
7171

@@ -1073,6 +1073,30 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
10731073
upgradeVersion = 79;
10741074
}
10751075

1076+
// vvv Jelly Bean MR1 changes begin here vvv
1077+
1078+
if (upgradeVersion == 79) {
1079+
// update screensaver settings
1080+
db.beginTransaction();
1081+
SQLiteStatement stmt = null;
1082+
try {
1083+
stmt = db.compileStatement("INSERT OR REPLACE INTO secure(name,value)"
1084+
+ " VALUES(?,?);");
1085+
loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ENABLED,
1086+
R.bool.def_screensaver_enabled);
1087+
loadBooleanSetting(stmt, Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
1088+
R.bool.def_screensaver_activate_on_dock);
1089+
loadStringSetting(stmt, Settings.Secure.SCREENSAVER_COMPONENT,
1090+
R.string.def_screensaver_component);
1091+
db.setTransactionSuccessful();
1092+
} finally {
1093+
db.endTransaction();
1094+
if (stmt != null) stmt.close();
1095+
}
1096+
upgradeVersion = 80;
1097+
}
1098+
1099+
10761100
// *** Remember to update DATABASE_VERSION above!
10771101

10781102
if (upgradeVersion != currentVersion) {

0 commit comments

Comments
 (0)