Split up android.policy into framework.jar and services.jar 1/3
Change-Id: Ifd69f1f3dd308a7e17a1442e2f3950da8b03cec4
diff --git a/CleanSpec.mk b/CleanSpec.mk
index bd3227f..c35f332 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -227,6 +227,7 @@
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/com/android/internal/widget/ILockSettingsObserver.java)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/SystemUI_intermediates/)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/Keyguard_intermediates/)
+$(call add-clean-step, rm -f $(OUT_DIR)/target/product/*/system/framework/android.policy.jar)
# ******************************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THIS BANNER
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 8b4b292..e95fbfc 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -27,7 +27,6 @@
import com.android.internal.app.IVoiceInteractor;
import com.android.internal.app.WindowDecorActionBar;
import com.android.internal.app.ToolbarActionBar;
-import com.android.internal.policy.PolicyManager;
import android.annotation.IntDef;
import android.annotation.Nullable;
@@ -84,6 +83,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
+import android.view.PhoneWindow;
import android.view.View;
import android.view.View.OnCreateContextMenuListener;
import android.view.ViewGroup;
@@ -5929,7 +5929,7 @@
mFragments.attachActivity(this, mContainer, null);
- mWindow = PolicyManager.makeNewWindow(this);
+ mWindow = new PhoneWindow(this);
mWindow.setCallback(this);
mWindow.setOnWindowDismissedCallback(this);
mWindow.getLayoutInflater().setPrivateFactory(this);
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index 39caf0b..8db942f 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -24,7 +24,6 @@
import android.service.persistentdata.PersistentDataBlockManager;
import com.android.internal.appwidget.IAppWidgetService;
-import com.android.internal.policy.PolicyManager;
import com.android.internal.util.Preconditions;
import android.bluetooth.BluetoothManager;
@@ -139,6 +138,7 @@
import android.view.DisplayAdjustments;
import android.view.ContextThemeWrapper;
import android.view.Display;
+import android.view.PhoneLayoutInflater;
import android.view.WindowManagerImpl;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.CaptioningManager;
@@ -480,7 +480,7 @@
registerService(LAYOUT_INFLATER_SERVICE, new ServiceFetcher() {
public Object createService(ContextImpl ctx) {
- return PolicyManager.makeNewLayoutInflater(ctx.getOuterContext());
+ return new PhoneLayoutInflater(ctx.getOuterContext());
}});
registerService(LOCATION_SERVICE, new ServiceFetcher() {
diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java
index 067073a..70e6e5a 100644
--- a/core/java/android/app/Dialog.java
+++ b/core/java/android/app/Dialog.java
@@ -16,14 +16,13 @@
package android.app;
-import android.content.pm.ApplicationInfo;
import com.android.internal.app.WindowDecorActionBar;
-import com.android.internal.policy.PolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.DialogInterface;
+import android.content.pm.ApplicationInfo;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
@@ -42,6 +41,7 @@
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
+import android.view.PhoneWindow;
import android.view.View;
import android.view.View.OnCreateContextMenuListener;
import android.view.ViewGroup;
@@ -134,14 +134,14 @@
/**
* Create a Dialog window that uses a custom dialog style.
- *
+ *
* @param context The Context in which the Dialog should run. In particular, it
* uses the window manager and theme from this context to
* present its UI.
- * @param theme A style resource describing the theme to use for the
- * window. See <a href="{@docRoot}guide/topics/resources/available-resources.html#stylesandthemes">Style
- * and Theme Resources</a> for more information about defining and using
- * styles. This theme is applied on top of the current theme in
+ * @param theme A style resource describing the theme to use for the
+ * window. See <a href="{@docRoot}guide/topics/resources/available-resources.html#stylesandthemes">Style
+ * and Theme Resources</a> for more information about defining and using
+ * styles. This theme is applied on top of the current theme in
* <var>context</var>. If 0, the default dialog theme will be used.
*/
public Dialog(Context context, int theme) {
@@ -162,7 +162,7 @@
}
mWindowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
- Window w = PolicyManager.makeNewWindow(mContext);
+ Window w = new PhoneWindow(mContext);
mWindow = w;
w.setCallback(this);
w.setOnWindowDismissedCallback(this);
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index dddbe78..250e80f 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -2473,7 +2473,7 @@
/**
* Log raw orientation data from
- * {@link com.android.internal.policy.impl.WindowOrientationListener} for use with the
+ * {@link com.android.server.policy.WindowOrientationListener} for use with the
* orientationplot.py tool.
* 0 = no
* 1 = yes
@@ -6545,7 +6545,7 @@
/**
* Defines global runtime overrides to window policy.
*
- * See {@link com.android.internal.policy.impl.PolicyControl} for value format.
+ * See {@link com.android.server.policy.PolicyControl} for value format.
*
* @hide
*/
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index 38b043971..3c57dda 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -37,6 +37,7 @@
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
+import android.view.PhoneWindow;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@@ -46,7 +47,6 @@
import android.view.accessibility.AccessibilityEvent;
import android.util.MathUtils;
-import com.android.internal.policy.PolicyManager;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.DumpUtils.Dump;
@@ -945,7 +945,7 @@
throw new IllegalStateException("Only doze dreams can be windowless");
}
if (!mWindowless) {
- mWindow = PolicyManager.makeNewWindow(this);
+ mWindow = new PhoneWindow(this);
mWindow.setCallback(this);
mWindow.requestFeature(Window.FEATURE_NO_TITLE);
mWindow.setBackgroundDrawable(new ColorDrawable(0xFF000000));
diff --git a/policy/src/com/android/internal/policy/impl/PhoneFallbackEventHandler.java b/core/java/android/view/PhoneFallbackEventHandler.java
similarity index 96%
rename from policy/src/com/android/internal/policy/impl/PhoneFallbackEventHandler.java
rename to core/java/android/view/PhoneFallbackEventHandler.java
index f291e89..fbf5732 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneFallbackEventHandler.java
+++ b/core/java/android/view/PhoneFallbackEventHandler.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package android.view;
import android.app.KeyguardManager;
import android.app.SearchManager;
@@ -23,19 +23,14 @@
import android.content.Intent;
import android.content.res.Configuration;
import android.media.AudioManager;
-import android.media.IAudioService;
import android.media.session.MediaSessionLegacyHelper;
-import android.os.RemoteException;
-import android.os.ServiceManager;
import android.os.UserHandle;
import android.telephony.TelephonyManager;
-import android.util.Log;
import android.util.Slog;
-import android.view.View;
-import android.view.HapticFeedbackConstants;
-import android.view.FallbackEventHandler;
-import android.view.KeyEvent;
+/**
+ * @hide
+ */
public class PhoneFallbackEventHandler implements FallbackEventHandler {
private static String TAG = "PhoneFallbackEventHandler";
private static final boolean DEBUG = false;
@@ -283,7 +278,7 @@
}
void sendCloseSystemWindows() {
- PhoneWindowManager.sendCloseSystemWindows(mContext, null);
+ PhoneWindow.sendCloseSystemWindows(mContext, null);
}
private void handleMediaKeyEvent(KeyEvent keyEvent) {
diff --git a/policy/src/com/android/internal/policy/impl/PhoneLayoutInflater.java b/core/java/android/view/PhoneLayoutInflater.java
similarity index 93%
rename from policy/src/com/android/internal/policy/impl/PhoneLayoutInflater.java
rename to core/java/android/view/PhoneLayoutInflater.java
index df6fca4c..7d89a0b 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneLayoutInflater.java
+++ b/core/java/android/view/PhoneLayoutInflater.java
@@ -14,37 +14,38 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package android.view;
import android.content.Context;
import android.util.AttributeSet;
-import android.view.View;
-import android.view.LayoutInflater;
+/**
+ * @hide
+ */
public class PhoneLayoutInflater extends LayoutInflater {
private static final String[] sClassPrefixList = {
"android.widget.",
"android.webkit.",
"android.app."
};
-
+
/**
* Instead of instantiating directly, you should retrieve an instance
* through {@link Context#getSystemService}
- *
+ *
* @param context The Context in which in which to find resources and other
* application-specific things.
- *
+ *
* @see Context#getSystemService
*/
public PhoneLayoutInflater(Context context) {
super(context);
}
-
+
protected PhoneLayoutInflater(LayoutInflater original, Context newContext) {
super(original, newContext);
}
-
+
/** Override onCreateView to instantiate names that correspond to the
widgets known to the Widget factory. If we don't find a match,
call through to our super class.
@@ -64,7 +65,7 @@
return super.onCreateView(name, attrs);
}
-
+
public LayoutInflater cloneInContext(Context newContext) {
return new PhoneLayoutInflater(this, newContext);
}
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/core/java/android/view/PhoneWindow.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/PhoneWindow.java
rename to core/java/android/view/PhoneWindow.java
index ab51f57..5f4d201 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/core/java/android/view/PhoneWindow.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package android.view;
import static android.view.View.MeasureSpec.AT_MOST;
import static android.view.View.MeasureSpec.EXACTLY;
@@ -22,6 +22,7 @@
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.view.WindowManager.LayoutParams.*;
+import android.app.ActivityManagerNative;
import android.app.SearchManager;
import android.os.UserHandle;
import com.android.internal.R;
@@ -72,31 +73,6 @@
import android.util.Log;
import android.util.SparseArray;
import android.util.TypedValue;
-import android.view.ActionMode;
-import android.view.ContextThemeWrapper;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.IRotationWatcher;
-import android.view.IWindowManager;
-import android.view.InputEvent;
-import android.view.InputQueue;
-import android.view.KeyCharacterMap;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.MotionEvent;
-import android.view.SurfaceHolder;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.view.ViewManager;
-import android.view.ViewParent;
-import android.view.ViewRootImpl;
-import android.view.ViewStub;
-import android.view.Window;
-import android.view.WindowInsets;
-import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.animation.Animation;
@@ -116,6 +92,8 @@
* <p>
* todo: need to pull the generic functionality out into a base class
* in android.widget.
+ *
+ * @hide
*/
public class PhoneWindow extends Window implements MenuBuilder.Callback {
@@ -4754,11 +4732,20 @@
}
void sendCloseSystemWindows() {
- PhoneWindowManager.sendCloseSystemWindows(getContext(), null);
+ sendCloseSystemWindows(getContext(), null);
}
void sendCloseSystemWindows(String reason) {
- PhoneWindowManager.sendCloseSystemWindows(getContext(), reason);
+ sendCloseSystemWindows(getContext(), reason);
+ }
+
+ public static void sendCloseSystemWindows(Context context, String reason) {
+ if (ActivityManagerNative.isSystemReady()) {
+ try {
+ ActivityManagerNative.getDefault().closeSystemDialogs(reason);
+ } catch (RemoteException e) {
+ }
+ }
}
@Override
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 570cb72..fb2a8d8 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -76,7 +76,6 @@
import com.android.internal.R;
import com.android.internal.os.SomeArgs;
-import com.android.internal.policy.PolicyManager;
import com.android.internal.view.BaseSurfaceHolder;
import com.android.internal.view.RootViewSurfaceTaker;
@@ -386,7 +385,7 @@
mViewConfiguration = ViewConfiguration.get(context);
mDensity = context.getResources().getDisplayMetrics().densityDpi;
mNoncompatDensity = context.getResources().getDisplayMetrics().noncompatDensityDpi;
- mFallbackEventHandler = PolicyManager.makeNewFallbackEventHandler(context);
+ mFallbackEventHandler = new PhoneFallbackEventHandler(context);
mChoreographer = Choreographer.getInstance();
mDisplayManager = (DisplayManager)context.getSystemService(Context.DISPLAY_SERVICE);
loadSystemProperties();
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 8704356..1456b52 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -42,10 +42,8 @@
* area, default key processing, etc.
*
* <p>The only existing implementation of this abstract class is
- * android.policy.PhoneWindow, which you should instantiate when needing a
- * Window. Eventually that class will be refactored and a factory method
- * added for creating Window instances without knowing about a particular
- * implementation.
+ * android.view.PhoneWindow, which you should instantiate when needing a
+ * Window.
*/
public abstract class Window {
/** Flag for the "options panel" feature. This is enabled by default. */
diff --git a/core/java/android/widget/MediaController.java b/core/java/android/widget/MediaController.java
index 380b328..0b63843 100644
--- a/core/java/android/widget/MediaController.java
+++ b/core/java/android/widget/MediaController.java
@@ -28,6 +28,7 @@
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
+import android.view.PhoneWindow;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@@ -36,8 +37,6 @@
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.SeekBar.OnSeekBarChangeListener;
-import com.android.internal.policy.PolicyManager;
-
import java.util.Formatter;
import java.util.Locale;
@@ -128,7 +127,7 @@
private void initFloatingWindow() {
mWindowManager = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
- mWindow = PolicyManager.makeNewWindow(mContext);
+ mWindow = new PhoneWindow(mContext);
mWindow.setWindowManager(mWindowManager, null, null);
mWindow.requestFeature(Window.FEATURE_NO_TITLE);
mDecor = mWindow.getDecorView();
diff --git a/core/java/com/android/internal/policy/IPolicy.java b/core/java/com/android/internal/policy/IPolicy.java
deleted file mode 100644
index d08b3b4..0000000
--- a/core/java/com/android/internal/policy/IPolicy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2008 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.internal.policy;
-
-import android.content.Context;
-import android.view.FallbackEventHandler;
-import android.view.LayoutInflater;
-import android.view.Window;
-import android.view.WindowManagerPolicy;
-
-/**
- * {@hide}
- */
-
-/* The implementation of this interface must be called Policy and contained
- * within the com.android.internal.policy.impl package */
-public interface IPolicy {
- public Window makeNewWindow(Context context);
-
- public LayoutInflater makeNewLayoutInflater(Context context);
-
- public WindowManagerPolicy makeNewWindowManager();
-
- public FallbackEventHandler makeNewFallbackEventHandler(Context context);
-}
diff --git a/core/java/com/android/internal/policy/PolicyManager.java b/core/java/com/android/internal/policy/PolicyManager.java
deleted file mode 100644
index 462b3a9..0000000
--- a/core/java/com/android/internal/policy/PolicyManager.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2008 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.internal.policy;
-
-import android.content.Context;
-import android.view.FallbackEventHandler;
-import android.view.LayoutInflater;
-import android.view.Window;
-import android.view.WindowManagerPolicy;
-
-/**
- * {@hide}
- */
-
-public final class PolicyManager {
- private static final String POLICY_IMPL_CLASS_NAME =
- "com.android.internal.policy.impl.Policy";
-
- private static final IPolicy sPolicy;
-
- static {
- // Pull in the actual implementation of the policy at run-time
- try {
- Class policyClass = Class.forName(POLICY_IMPL_CLASS_NAME);
- sPolicy = (IPolicy)policyClass.newInstance();
- } catch (ClassNotFoundException ex) {
- throw new RuntimeException(
- POLICY_IMPL_CLASS_NAME + " could not be loaded", ex);
- } catch (InstantiationException ex) {
- throw new RuntimeException(
- POLICY_IMPL_CLASS_NAME + " could not be instantiated", ex);
- } catch (IllegalAccessException ex) {
- throw new RuntimeException(
- POLICY_IMPL_CLASS_NAME + " could not be instantiated", ex);
- }
- }
-
- // Cannot instantiate this class
- private PolicyManager() {}
-
- // The static methods to spawn new policy-specific objects
- public static Window makeNewWindow(Context context) {
- return sPolicy.makeNewWindow(context);
- }
-
- public static LayoutInflater makeNewLayoutInflater(Context context) {
- return sPolicy.makeNewLayoutInflater(context);
- }
-
- public static WindowManagerPolicy makeNewWindowManager() {
- return sPolicy.makeNewWindowManager();
- }
-
- public static FallbackEventHandler makeNewFallbackEventHandler(Context context) {
- return sPolicy.makeNewFallbackEventHandler(context);
- }
-}
diff --git a/policy/Android.mk b/policy/Android.mk
deleted file mode 100644
index 47d8fb8..0000000
--- a/policy/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-# the library
-# ============================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_MODULE := android.policy
-
-include $(BUILD_JAVA_LIBRARY)
-
-# additionally, build unit tests in a separate .apk
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/policy/src/com/android/internal/policy/impl/Policy.java b/policy/src/com/android/internal/policy/impl/Policy.java
deleted file mode 100644
index 42bfc5f..0000000
--- a/policy/src/com/android/internal/policy/impl/Policy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2008 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.internal.policy.impl;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.FallbackEventHandler;
-import android.view.LayoutInflater;
-import android.view.Window;
-import android.view.WindowManagerPolicy;
-
-import com.android.internal.policy.IPolicy;
-
-/**
- * {@hide}
- */
-
-// Simple implementation of the policy interface that spawns the right
-// set of objects
-public class Policy implements IPolicy {
- private static final String TAG = "PhonePolicy";
-
- private static final String[] preload_classes = {
- "com.android.internal.policy.impl.PhoneLayoutInflater",
- "com.android.internal.policy.impl.PhoneWindow",
- "com.android.internal.policy.impl.PhoneWindow$1",
- "com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback",
- "com.android.internal.policy.impl.PhoneWindow$DecorView",
- "com.android.internal.policy.impl.PhoneWindow$PanelFeatureState",
- "com.android.internal.policy.impl.PhoneWindow$PanelFeatureState$SavedState",
- };
-
- static {
- // For performance reasons, preload some policy specific classes when
- // the policy gets loaded.
- for (String s : preload_classes) {
- try {
- Class.forName(s);
- } catch (ClassNotFoundException ex) {
- Log.e(TAG, "Could not preload class for phone policy: " + s);
- }
- }
- }
-
- public Window makeNewWindow(Context context) {
- return new PhoneWindow(context);
- }
-
- public LayoutInflater makeNewLayoutInflater(Context context) {
- return new PhoneLayoutInflater(context);
- }
-
- public WindowManagerPolicy makeNewWindowManager() {
- return new PhoneWindowManager();
- }
-
- public FallbackEventHandler makeNewFallbackEventHandler(Context context) {
- return new PhoneFallbackEventHandler(context);
- }
-}
diff --git a/policy/src/com/android/internal/policy/impl/package.html b/policy/src/com/android/internal/policy/impl/package.html
deleted file mode 100644
index c9f96a6..0000000
--- a/policy/src/com/android/internal/policy/impl/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<body>
-
-{@hide}
-
-</body>
diff --git a/services/core/Android.mk b/services/core/Android.mk
index 5c45201..1a0fa34 100644
--- a/services/core/Android.mk
+++ b/services/core/Android.mk
@@ -9,6 +9,6 @@
java/com/android/server/EventLogTags.logtags \
java/com/android/server/am/EventLogTags.logtags
-LOCAL_JAVA_LIBRARIES := android.policy telephony-common
+LOCAL_JAVA_LIBRARIES := telephony-common
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/policy/src/com/android/internal/policy/impl/BarController.java b/services/core/java/com/android/server/policy/BarController.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/BarController.java
rename to services/core/java/com/android/server/policy/BarController.java
index bfbd60d..bca2c16 100644
--- a/policy/src/com/android/internal/policy/impl/BarController.java
+++ b/services/core/java/com/android/server/policy/BarController.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.app.StatusBarManager;
import android.os.Handler;
diff --git a/policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java b/services/core/java/com/android/server/policy/EnableAccessibilityController.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java
rename to services/core/java/com/android/server/policy/EnableAccessibilityController.java
index 6f79f58..da9c001 100644
--- a/policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java
+++ b/services/core/java/com/android/server/policy/EnableAccessibilityController.java
@@ -14,7 +14,7 @@
* the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.ActivityManager;
diff --git a/policy/src/com/android/internal/policy/impl/GlobalActions.java b/services/core/java/com/android/server/policy/GlobalActions.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/GlobalActions.java
rename to services/core/java/com/android/server/policy/GlobalActions.java
index 20a2c9f..d768fe3 100644
--- a/policy/src/com/android/internal/policy/impl/GlobalActions.java
+++ b/services/core/java/com/android/server/policy/GlobalActions.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import com.android.internal.app.AlertController;
import com.android.internal.app.AlertController.AlertParams;
@@ -67,7 +67,6 @@
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.WindowManagerGlobal;
-import android.view.WindowManagerInternal;
import android.view.WindowManagerPolicy.WindowManagerFuncs;
import android.view.accessibility.AccessibilityEvent;
import android.widget.AdapterView;
diff --git a/policy/src/com/android/internal/policy/impl/GlobalKeyManager.java b/services/core/java/com/android/server/policy/GlobalKeyManager.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/GlobalKeyManager.java
rename to services/core/java/com/android/server/policy/GlobalKeyManager.java
index fc65793..e08c004 100644
--- a/policy/src/com/android/internal/policy/impl/GlobalKeyManager.java
+++ b/services/core/java/com/android/server/policy/GlobalKeyManager.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.content.ComponentName;
import android.content.Context;
diff --git a/policy/src/com/android/internal/policy/impl/IconUtilities.java b/services/core/java/com/android/server/policy/IconUtilities.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/IconUtilities.java
rename to services/core/java/com/android/server/policy/IconUtilities.java
index 82f26ad..4658344 100644
--- a/policy/src/com/android/internal/policy/impl/IconUtilities.java
+++ b/services/core/java/com/android/server/policy/IconUtilities.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
diff --git a/policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java b/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java
rename to services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
index 8fc4647..e511346 100644
--- a/policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java
+++ b/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
@@ -14,12 +14,11 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.animation.ArgbEvaluator;
import android.animation.ValueAnimator;
import android.app.ActivityManager;
-import android.app.ActivityManagerNative;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -28,7 +27,6 @@
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
import android.os.Message;
-import android.os.RemoteException;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.DisplayMetrics;
diff --git a/policy/src/com/android/internal/policy/impl/LogDecelerateInterpolator.java b/services/core/java/com/android/server/policy/LogDecelerateInterpolator.java
similarity index 96%
rename from policy/src/com/android/internal/policy/impl/LogDecelerateInterpolator.java
rename to services/core/java/com/android/server/policy/LogDecelerateInterpolator.java
index 1f3e1de..ed5dc6f 100644
--- a/policy/src/com/android/internal/policy/impl/LogDecelerateInterpolator.java
+++ b/services/core/java/com/android/server/policy/LogDecelerateInterpolator.java
@@ -14,7 +14,7 @@
* limitations under the License
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.view.animation.Interpolator;
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
rename to services/core/java/com/android/server/policy/PhoneWindowManager.java
index 92468d2..ec8a77513 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
@@ -89,6 +89,7 @@
import android.view.KeyCharacterMap.FallbackAction;
import android.view.KeyEvent;
import android.view.MotionEvent;
+import android.view.PhoneWindow;
import android.view.Surface;
import android.view.View;
import android.view.ViewConfiguration;
@@ -104,12 +105,11 @@
import android.view.animation.AnimationUtils;
import com.android.internal.R;
-import com.android.internal.policy.PolicyManager;
-import com.android.internal.policy.impl.keyguard.KeyguardServiceDelegate;
-import com.android.internal.policy.impl.keyguard.KeyguardServiceDelegate.ShowListener;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.widget.PointerLocationView;
import com.android.server.LocalServices;
+import com.android.server.policy.keyguard.KeyguardServiceDelegate;
+import com.android.server.policy.keyguard.KeyguardServiceDelegate.ShowListener;
import java.io.File;
import java.io.FileReader;
@@ -2041,7 +2041,7 @@
}
}
- Window win = PolicyManager.makeNewWindow(context);
+ Window win = new PhoneWindow(context);
final TypedArray ta = win.getWindowStyle();
if (ta.getBoolean(
com.android.internal.R.styleable.Window_windowDisablePreview, false)
@@ -5334,20 +5334,11 @@
}
void sendCloseSystemWindows() {
- sendCloseSystemWindows(mContext, null);
+ PhoneWindow.sendCloseSystemWindows(mContext, null);
}
void sendCloseSystemWindows(String reason) {
- sendCloseSystemWindows(mContext, reason);
- }
-
- static void sendCloseSystemWindows(Context context, String reason) {
- if (ActivityManagerNative.isSystemReady()) {
- try {
- ActivityManagerNative.getDefault().closeSystemDialogs(reason);
- } catch (RemoteException e) {
- }
- }
+ PhoneWindow.sendCloseSystemWindows(mContext, reason);
}
@Override
diff --git a/policy/src/com/android/internal/policy/impl/PolicyControl.java b/services/core/java/com/android/server/policy/PolicyControl.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/PolicyControl.java
rename to services/core/java/com/android/server/policy/PolicyControl.java
index 9abd906..dbafc42 100644
--- a/policy/src/com/android/internal/policy/impl/PolicyControl.java
+++ b/services/core/java/com/android/server/policy/PolicyControl.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.app.ActivityManager;
import android.content.Context;
diff --git a/policy/src/com/android/internal/policy/impl/RecentApplicationsBackground.java b/services/core/java/com/android/server/policy/RecentApplicationsBackground.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/RecentApplicationsBackground.java
rename to services/core/java/com/android/server/policy/RecentApplicationsBackground.java
index 3490bd4..694a110 100644
--- a/policy/src/com/android/internal/policy/impl/RecentApplicationsBackground.java
+++ b/services/core/java/com/android/server/policy/RecentApplicationsBackground.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.content.Context;
import android.graphics.Canvas;
diff --git a/policy/src/com/android/internal/policy/impl/ShortcutManager.java b/services/core/java/com/android/server/policy/ShortcutManager.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/ShortcutManager.java
rename to services/core/java/com/android/server/policy/ShortcutManager.java
index bb898f7..6a0136a 100644
--- a/policy/src/com/android/internal/policy/impl/ShortcutManager.java
+++ b/services/core/java/com/android/server/policy/ShortcutManager.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.content.Context;
import android.content.Intent;
diff --git a/policy/src/com/android/internal/policy/impl/SystemGesturesPointerEventListener.java b/services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/SystemGesturesPointerEventListener.java
rename to services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java
index 4ff9315..cfa631f 100644
--- a/policy/src/com/android/internal/policy/impl/SystemGesturesPointerEventListener.java
+++ b/services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.content.Context;
import android.util.Slog;
diff --git a/policy/src/com/android/internal/policy/impl/WakeGestureListener.java b/services/core/java/com/android/server/policy/WakeGestureListener.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/WakeGestureListener.java
rename to services/core/java/com/android/server/policy/WakeGestureListener.java
index 9396c2c..1d5d7ba 100644
--- a/policy/src/com/android/internal/policy/impl/WakeGestureListener.java
+++ b/services/core/java/com/android/server/policy/WakeGestureListener.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.os.Handler;
import android.content.Context;
diff --git a/policy/src/com/android/internal/policy/impl/WindowOrientationListener.java b/services/core/java/com/android/server/policy/WindowOrientationListener.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/WindowOrientationListener.java
rename to services/core/java/com/android/server/policy/WindowOrientationListener.java
index 2f60d55..0118127 100644
--- a/policy/src/com/android/internal/policy/impl/WindowOrientationListener.java
+++ b/services/core/java/com/android/server/policy/WindowOrientationListener.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl;
+package com.android.server.policy;
import android.content.Context;
import android.hardware.Sensor;
@@ -25,7 +25,6 @@
import android.os.SystemProperties;
import android.util.Log;
import android.util.Slog;
-import android.util.TimeUtils;
import java.io.PrintWriter;
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
similarity index 99%
rename from policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java
rename to services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
index 6e8f550..c3fc195 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java
+++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
@@ -1,4 +1,4 @@
-package com.android.internal.policy.impl.keyguard;
+package com.android.server.policy.keyguard;
import android.content.ComponentName;
import android.content.Context;
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceWrapper.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java
similarity index 98%
rename from policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceWrapper.java
rename to services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java
index b3b7684..2dc685b 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceWrapper.java
+++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl.keyguard;
+package com.android.server.policy.keyguard;
import android.content.Context;
import android.os.Bundle;
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStateMonitor.java b/services/core/java/com/android/server/policy/keyguard/KeyguardStateMonitor.java
similarity index 97%
rename from policy/src/com/android/internal/policy/impl/keyguard/KeyguardStateMonitor.java
rename to services/core/java/com/android/server/policy/keyguard/KeyguardStateMonitor.java
index 6f9c617..926090e 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStateMonitor.java
+++ b/services/core/java/com/android/server/policy/keyguard/KeyguardStateMonitor.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.policy.impl.keyguard;
+package com.android.server.policy.keyguard;
import android.app.ActivityManager;
import android.content.Context;
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 8214026..71fddfb 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -29,8 +29,6 @@
import android.view.IWindowSessionCallback;
import android.view.WindowContentFrameStats;
import com.android.internal.app.IBatteryStats;
-import com.android.internal.policy.PolicyManager;
-import com.android.internal.policy.impl.PhoneWindowManager;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.view.IInputContext;
import com.android.internal.view.IInputMethodClient;
@@ -45,6 +43,7 @@
import com.android.server.am.BatteryStatsService;
import com.android.server.input.InputManagerService;
import com.android.server.power.ShutdownThread;
+import com.android.server.policy.PhoneWindowManager;
import android.Manifest;
import android.app.ActivityManagerNative;
@@ -338,7 +337,7 @@
final boolean mLimitedAlphaCompositing;
- final WindowManagerPolicy mPolicy = PolicyManager.makeNewWindowManager();
+ final WindowManagerPolicy mPolicy = new PhoneWindowManager();
final IActivityManager mActivityManager;
diff --git a/tools/layoutlib/bridge/src/com/android/internal/policy/PolicyManager.java b/tools/layoutlib/bridge/src/com/android/internal/policy/PolicyManager.java
deleted file mode 100644
index 0100dc5..0000000
--- a/tools/layoutlib/bridge/src/com/android/internal/policy/PolicyManager.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2012 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.internal.policy;
-
-import com.android.ide.common.rendering.api.LayoutLog;
-import com.android.layoutlib.bridge.Bridge;
-import com.android.layoutlib.bridge.impl.RenderAction;
-
-import android.content.Context;
-import android.view.BridgeInflater;
-import android.view.FallbackEventHandler;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManagerPolicy;
-
-/**
- * Custom implementation of PolicyManager that does nothing to run in LayoutLib.
- *
- */
-public class PolicyManager {
-
- public static Window makeNewWindow(Context context) {
- // this will likely crash somewhere beyond so we log it.
- Bridge.getLog().error(LayoutLog.TAG_UNSUPPORTED,
- "Call to PolicyManager.makeNewWindow is not supported", null);
- return null;
- }
-
- public static LayoutInflater makeNewLayoutInflater(Context context) {
- return new BridgeInflater(context, RenderAction.getCurrentContext().getProjectCallback());
- }
-
- public static WindowManagerPolicy makeNewWindowManager() {
- // this will likely crash somewhere beyond so we log it.
- Bridge.getLog().error(LayoutLog.TAG_UNSUPPORTED,
- "Call to PolicyManager.makeNewWindowManager is not supported", null);
- return null;
- }
-
- public static FallbackEventHandler makeNewFallbackEventHandler(Context context) {
- return new FallbackEventHandler() {
- @Override
- public void setView(View v) {
- }
-
- @Override
- public void preDispatchKeyEvent(KeyEvent event) {
- }
-
- @Override
- public boolean dispatchKeyEvent(KeyEvent event) {
- return false;
- }
- };
- }
-}
diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
index 8f50c5d..f5e8292 100644
--- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
+++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
@@ -254,7 +254,6 @@
"android.view.SurfaceView", "android.view._Original_SurfaceView",
"android.view.accessibility.AccessibilityManager", "android.view.accessibility._Original_AccessibilityManager",
"android.webkit.WebView", "android.webkit._Original_WebView",
- "com.android.internal.policy.PolicyManager", "com.android.internal.policy._Original_PolicyManager",
};
/**