diff --git a/core/res/res/values-xlarge/config.xml b/core/res/res/values-xlarge/config.xml index 813651e9e7018..9504d0437853b 100644 --- a/core/res/res/values-xlarge/config.xml +++ b/core/res/res/values-xlarge/config.xml @@ -20,9 +20,6 @@ - - com.android.systemui/com.android.systemui.statusbar.tablet.TabletStatusBarService false diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index de2b9300cbe8c..a5c9a4063c0d1 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -20,9 +20,6 @@ - - com.android.systemui/com.android.systemui.statusbar.PhoneStatusBarService true + 1 + + + com.android.systemui.statusbar.tablet.TabletStatusBarService + diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index ac00c69ca4253..4570d8e3827d4 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -31,5 +31,9 @@ --> 0 + + com.android.systemui.statusbar.PhoneStatusBarService + diff --git a/packages/SystemUI/src/com/android/systemui/SystemUI.java b/packages/SystemUI/src/com/android/systemui/SystemUI.java new file mode 100644 index 0000000000000..53fe2ff911906 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/SystemUI.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2010 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.systemui; + +import java.io.FileDescriptor; +import java.io.PrintWriter; + +import android.content.Context; + +public abstract class SystemUI { + public Context mContext; + + public abstract void start(); + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + } +} diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIService.java b/packages/SystemUI/src/com/android/systemui/SystemUIService.java new file mode 100644 index 0000000000000..dda86d21f823f --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/SystemUIService.java @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2010 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.systemui; + +import java.io.FileDescriptor; +import java.io.PrintWriter; + +import android.app.Service; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Binder; +import android.os.IBinder; +import android.util.Slog; + +public class SystemUIService extends Service { + static final String TAG = "SystemUIService"; + + /** + * The class names of the stuff to start. + */ + final Object[] SERVICES = new Object[] { + R.string.config_statusBarComponent, + }; + + /** + * Hold a reference on the stuff we start. + */ + SystemUI[] mServices; + + private Class chooseClass(Object o) { + if (o instanceof Integer) { + final String cl = getString((Integer)o); + try { + return getClassLoader().loadClass(cl); + } catch (ClassNotFoundException ex) { + throw new RuntimeException(ex); + } + } else if (o instanceof Class) { + return (Class)o; + } else { + throw new RuntimeException("Unknown system ui service: " + o); + } + } + + @Override + public void onCreate() { + final int N = SERVICES.length; + mServices = new SystemUI[N]; + for (int i=0; i