Split up android.policy into framework.jar and services.jar 1/3
Change-Id: Ifd69f1f3dd308a7e17a1442e2f3950da8b03cec4
This commit is contained in:
@@ -227,6 +227,7 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framew
|
||||
$(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
|
||||
|
||||
@@ -27,7 +27,6 @@ import android.widget.Toolbar;
|
||||
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.Menu;
|
||||
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 @@ public class Activity extends ContextThemeWrapper
|
||||
|
||||
mFragments.attachActivity(this, mContainer, null);
|
||||
|
||||
mWindow = PolicyManager.makeNewWindow(this);
|
||||
mWindow = new PhoneWindow(this);
|
||||
mWindow.setCallback(this);
|
||||
mWindow.setOnWindowDismissedCallback(this);
|
||||
mWindow.getLayoutInflater().setPrivateFactory(this);
|
||||
|
||||
@@ -24,7 +24,6 @@ import android.service.persistentdata.IPersistentDataBlockService;
|
||||
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.util.Slog;
|
||||
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 @@ class ContextImpl extends Context {
|
||||
|
||||
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() {
|
||||
|
||||
@@ -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.LayoutInflater;
|
||||
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 @@ public class Dialog implements DialogInterface, Window.Callback,
|
||||
|
||||
/**
|
||||
* 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 @@ public class Dialog implements DialogInterface, Window.Callback,
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
@@ -2473,7 +2473,7 @@ public final class Settings {
|
||||
|
||||
/**
|
||||
* 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 @@ public final class Settings {
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
||||
@@ -37,6 +37,7 @@ import android.view.KeyEvent;
|
||||
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.WindowManager.LayoutParams;
|
||||
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 @@ public class DreamService extends Service implements Window.Callback {
|
||||
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));
|
||||
|
||||
@@ -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.Context;
|
||||
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 @@ public class PhoneFallbackEventHandler implements FallbackEventHandler {
|
||||
}
|
||||
|
||||
void sendCloseSystemWindows() {
|
||||
PhoneWindowManager.sendCloseSystemWindows(mContext, null);
|
||||
PhoneWindow.sendCloseSystemWindows(mContext, null);
|
||||
}
|
||||
|
||||
private void handleMediaKeyEvent(KeyEvent keyEvent) {
|
||||
@@ -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 @@ public class PhoneLayoutInflater extends LayoutInflater {
|
||||
|
||||
return super.onCreateView(name, attrs);
|
||||
}
|
||||
|
||||
|
||||
public LayoutInflater cloneInContext(Context newContext) {
|
||||
return new PhoneLayoutInflater(this, newContext);
|
||||
}
|
||||
@@ -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.MATCH_PARENT;
|
||||
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.EventLog;
|
||||
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 @@ import java.util.ArrayList;
|
||||
* <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 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
|
||||
}
|
||||
|
||||
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
|
||||
@@ -76,7 +76,6 @@ import android.widget.Scroller;
|
||||
|
||||
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 @@ public final class ViewRootImpl implements ViewParent,
|
||||
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();
|
||||
|
||||
@@ -42,10 +42,8 @@ import android.view.accessibility.AccessibilityEvent;
|
||||
* 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. */
|
||||
|
||||
@@ -28,6 +28,7 @@ import android.view.Gravity;
|
||||
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.AccessibilityEvent;
|
||||
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 @@ public class MediaController extends FrameLayout {
|
||||
|
||||
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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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))
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
<body>
|
||||
|
||||
{@hide}
|
||||
|
||||
</body>
|
||||
@@ -9,6 +9,6 @@ LOCAL_SRC_FILES += \
|
||||
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)
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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.ViewConfiguration;
|
||||
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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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.PixelFormat;
|
||||
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;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package com.android.internal.policy.impl;
|
||||
package com.android.server.policy;
|
||||
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
@@ -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;
|
||||
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.AnimationSet;
|
||||
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 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
}
|
||||
|
||||
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 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
|
||||
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
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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.Handler;
|
||||
import android.os.SystemProperties;
|
||||
import android.util.Log;
|
||||
import android.util.Slog;
|
||||
import android.util.TimeUtils;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -29,8 +29,6 @@ import android.view.IWindowId;
|
||||
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.Watchdog;
|
||||
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 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
|
||||
final boolean mLimitedAlphaCompositing;
|
||||
|
||||
final WindowManagerPolicy mPolicy = PolicyManager.makeNewWindowManager();
|
||||
final WindowManagerPolicy mPolicy = new PhoneWindowManager();
|
||||
|
||||
final IActivityManager mActivityManager;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -254,7 +254,6 @@ public final class CreateInfo implements ICreateInfo {
|
||||
"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",
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user