Move keyguard to its own process.
This is in preparation to moving keyguard into its own process. Moved keyguard source and resources into new .apk. Got basic test app working. Still need to implement MockPatternUtils and means to pass it into KeyguardService with local binder interface. Added new ACCESS_KEYGUARD_SECURE_STORAGE permission. Temporarily disabled USER_PRESENT broadcast. Remove unintentional whitespace changes in PhoneWindowManager, etc. Checkpoint basic working version. Move to systemui process. Synchronize with TOT. Sync with recent user API changes. Fix bug with returing interface instead of stub for IKeyguardResult. Create KeyguardServiceDelegate to allow for runtime-selectable local or remote interface. More keyguard crash robustness. Keyguard crash recovery working. Currently fails safe (locked). Fix selector view which was still using frameworks resources. Remove more references to internal framework variables. Use aliases for those we should move but currently have dependencies. Allow runtime switching between service and local mode. Fix layout issue on tablets where orientation was reading the incorrect constant from the framework. Remove more framework dependencies. Fix PIN keyboard input. Remove unnecessary copy of orientation attrs. Remove unused user selector widget and attempt to get multi user working again. Fix multi-user avatar icon by grabbing it from UserManager rather than directly since keyguard can no longer read it. Merge with AppWidget userId changes in master. Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
@@ -177,6 +177,8 @@ LOCAL_SRC_FILES += \
|
||||
core/java/com/android/internal/backup/IBackupTransport.aidl \
|
||||
core/java/com/android/internal/policy/IFaceLockCallback.aidl \
|
||||
core/java/com/android/internal/policy/IFaceLockInterface.aidl \
|
||||
core/java/com/android/internal/policy/IKeyguardResult.aidl \
|
||||
core/java/com/android/internal/policy/IKeyguardService.aidl \
|
||||
core/java/com/android/internal/os/IDropBoxManagerService.aidl \
|
||||
core/java/com/android/internal/os/IResultReceiver.aidl \
|
||||
core/java/com/android/internal/statusbar/IStatusBar.aidl \
|
||||
|
||||
@@ -198,7 +198,6 @@ public class AppWidgetHost {
|
||||
* @return a appWidgetId
|
||||
*/
|
||||
public int allocateAppWidgetId() {
|
||||
|
||||
try {
|
||||
if (mPackageName == null) {
|
||||
mPackageName = mContext.getPackageName();
|
||||
|
||||
@@ -527,6 +527,14 @@ public interface WindowManager extends ViewManager {
|
||||
*/
|
||||
public static final int TYPE_RECENTS_OVERLAY = FIRST_SYSTEM_WINDOW+28;
|
||||
|
||||
|
||||
/**
|
||||
* Window type: keyguard scrim window. Shows if keyguard needs to be restarted.
|
||||
* In multiuser systems shows on all users' windows.
|
||||
* @hide
|
||||
*/
|
||||
public static final int TYPE_KEYGUARD_SCRIM = FIRST_SYSTEM_WINDOW+29;
|
||||
|
||||
/**
|
||||
* End of types of system windows.
|
||||
*/
|
||||
|
||||
21
core/java/com/android/internal/policy/IKeyguardResult.aidl
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
oneway interface IKeyguardResult {
|
||||
void onShown(IBinder windowToken);
|
||||
void onKeyguardExitResult(boolean success);
|
||||
}
|
||||
44
core/java/com/android/internal/policy/IKeyguardService.aidl
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* 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.internal.policy.IKeyguardResult;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
interface IKeyguardService {
|
||||
boolean isShowing();
|
||||
boolean isSecure();
|
||||
boolean isShowingAndNotHidden();
|
||||
boolean isInputRestricted();
|
||||
boolean isDismissable();
|
||||
oneway void userActivity();
|
||||
oneway void verifyUnlock(IKeyguardResult result);
|
||||
oneway void keyguardDone(boolean authenticated, boolean wakeup);
|
||||
oneway void setHidden(boolean isHidden);
|
||||
oneway void dismiss();
|
||||
oneway void onWakeKeyWhenKeyguardShowingTq(int keyCode);
|
||||
oneway void onWakeMotionWhenKeyguardShowingTq();
|
||||
oneway void onDreamingStarted();
|
||||
oneway void onDreamingStopped();
|
||||
oneway void onScreenTurnedOff(int reason);
|
||||
oneway void onScreenTurnedOn(IKeyguardResult result);
|
||||
oneway void setKeyguardEnabled(boolean enabled);
|
||||
oneway void onSystemReady();
|
||||
oneway void doKeyguardTimeout(in Bundle options);
|
||||
oneway void setCurrentUser(int userId);
|
||||
oneway void showAssistant();
|
||||
}
|
||||
@@ -1,514 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2011 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.widget;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
import com.android.internal.widget.LockScreenWidgetCallback;
|
||||
import com.android.internal.widget.LockScreenWidgetInterface;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.app.PendingIntent.CanceledException;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaMetadataRetriever;
|
||||
import android.media.RemoteControlClient;
|
||||
import android.media.IRemoteControlDisplay;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.os.RemoteException;
|
||||
import android.os.SystemClock;
|
||||
import android.text.Spannable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
|
||||
import com.android.internal.R;
|
||||
|
||||
public class TransportControlView extends FrameLayout implements OnClickListener,
|
||||
LockScreenWidgetInterface {
|
||||
|
||||
private static final int MSG_UPDATE_STATE = 100;
|
||||
private static final int MSG_SET_METADATA = 101;
|
||||
private static final int MSG_SET_TRANSPORT_CONTROLS = 102;
|
||||
private static final int MSG_SET_ARTWORK = 103;
|
||||
private static final int MSG_SET_GENERATION_ID = 104;
|
||||
private static final int MAXDIM = 512;
|
||||
private static final int DISPLAY_TIMEOUT_MS = 5000; // 5s
|
||||
protected static final boolean DEBUG = false;
|
||||
protected static final String TAG = "TransportControlView";
|
||||
|
||||
private ImageView mAlbumArt;
|
||||
private TextView mTrackTitle;
|
||||
private ImageView mBtnPrev;
|
||||
private ImageView mBtnPlay;
|
||||
private ImageView mBtnNext;
|
||||
private int mClientGeneration;
|
||||
private Metadata mMetadata = new Metadata();
|
||||
private boolean mAttached;
|
||||
private PendingIntent mClientIntent;
|
||||
private int mTransportControlFlags;
|
||||
private int mCurrentPlayState;
|
||||
private AudioManager mAudioManager;
|
||||
private LockScreenWidgetCallback mWidgetCallbacks;
|
||||
private IRemoteControlDisplayWeak mIRCD;
|
||||
|
||||
/**
|
||||
* The metadata which should be populated into the view once we've been attached
|
||||
*/
|
||||
private Bundle mPopulateMetadataWhenAttached = null;
|
||||
|
||||
// This handler is required to ensure messages from IRCD are handled in sequence and on
|
||||
// the UI thread.
|
||||
private Handler mHandler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
switch (msg.what) {
|
||||
case MSG_UPDATE_STATE:
|
||||
if (mClientGeneration == msg.arg1) updatePlayPauseState(msg.arg2);
|
||||
break;
|
||||
|
||||
case MSG_SET_METADATA:
|
||||
if (mClientGeneration == msg.arg1) updateMetadata((Bundle) msg.obj);
|
||||
break;
|
||||
|
||||
case MSG_SET_TRANSPORT_CONTROLS:
|
||||
if (mClientGeneration == msg.arg1) updateTransportControls(msg.arg2);
|
||||
break;
|
||||
|
||||
case MSG_SET_ARTWORK:
|
||||
if (mClientGeneration == msg.arg1) {
|
||||
if (mMetadata.bitmap != null) {
|
||||
mMetadata.bitmap.recycle();
|
||||
}
|
||||
mMetadata.bitmap = (Bitmap) msg.obj;
|
||||
mAlbumArt.setImageBitmap(mMetadata.bitmap);
|
||||
}
|
||||
break;
|
||||
|
||||
case MSG_SET_GENERATION_ID:
|
||||
if (msg.arg2 != 0) {
|
||||
// This means nobody is currently registered. Hide the view.
|
||||
if (mWidgetCallbacks != null) {
|
||||
mWidgetCallbacks.requestHide(TransportControlView.this);
|
||||
}
|
||||
}
|
||||
if (DEBUG) Log.v(TAG, "New genId = " + msg.arg1 + ", clearing = " + msg.arg2);
|
||||
mClientGeneration = msg.arg1;
|
||||
mClientIntent = (PendingIntent) msg.obj;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This class is required to have weak linkage to the current TransportControlView
|
||||
* because the remote process can hold a strong reference to this binder object and
|
||||
* we can't predict when it will be GC'd in the remote process. Without this code, it
|
||||
* would allow a heavyweight object to be held on this side of the binder when there's
|
||||
* no requirement to run a GC on the other side.
|
||||
*/
|
||||
private static class IRemoteControlDisplayWeak extends IRemoteControlDisplay.Stub {
|
||||
private WeakReference<Handler> mLocalHandler;
|
||||
|
||||
IRemoteControlDisplayWeak(Handler handler) {
|
||||
mLocalHandler = new WeakReference<Handler>(handler);
|
||||
}
|
||||
|
||||
public void setPlaybackState(int generationId, int state, long stateChangeTimeMs) {
|
||||
Handler handler = mLocalHandler.get();
|
||||
if (handler != null) {
|
||||
handler.obtainMessage(MSG_UPDATE_STATE, generationId, state).sendToTarget();
|
||||
}
|
||||
}
|
||||
|
||||
public void setMetadata(int generationId, Bundle metadata) {
|
||||
Handler handler = mLocalHandler.get();
|
||||
if (handler != null) {
|
||||
handler.obtainMessage(MSG_SET_METADATA, generationId, 0, metadata).sendToTarget();
|
||||
}
|
||||
}
|
||||
|
||||
public void setTransportControlFlags(int generationId, int flags) {
|
||||
Handler handler = mLocalHandler.get();
|
||||
if (handler != null) {
|
||||
handler.obtainMessage(MSG_SET_TRANSPORT_CONTROLS, generationId, flags)
|
||||
.sendToTarget();
|
||||
}
|
||||
}
|
||||
|
||||
public void setArtwork(int generationId, Bitmap bitmap) {
|
||||
Handler handler = mLocalHandler.get();
|
||||
if (handler != null) {
|
||||
handler.obtainMessage(MSG_SET_ARTWORK, generationId, 0, bitmap).sendToTarget();
|
||||
}
|
||||
}
|
||||
|
||||
public void setAllMetadata(int generationId, Bundle metadata, Bitmap bitmap) {
|
||||
Handler handler = mLocalHandler.get();
|
||||
if (handler != null) {
|
||||
handler.obtainMessage(MSG_SET_METADATA, generationId, 0, metadata).sendToTarget();
|
||||
handler.obtainMessage(MSG_SET_ARTWORK, generationId, 0, bitmap).sendToTarget();
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentClientId(int clientGeneration, PendingIntent mediaIntent,
|
||||
boolean clearing) throws RemoteException {
|
||||
Handler handler = mLocalHandler.get();
|
||||
if (handler != null) {
|
||||
handler.obtainMessage(MSG_SET_GENERATION_ID,
|
||||
clientGeneration, (clearing ? 1 : 0), mediaIntent).sendToTarget();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public TransportControlView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
if (DEBUG) Log.v(TAG, "Create TCV " + this);
|
||||
mAudioManager = new AudioManager(mContext);
|
||||
mCurrentPlayState = RemoteControlClient.PLAYSTATE_NONE; // until we get a callback
|
||||
mIRCD = new IRemoteControlDisplayWeak(mHandler);
|
||||
}
|
||||
|
||||
private void updateTransportControls(int transportControlFlags) {
|
||||
mTransportControlFlags = transportControlFlags;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
mTrackTitle = (TextView) findViewById(R.id.title);
|
||||
mTrackTitle.setSelected(true); // enable marquee
|
||||
mAlbumArt = (ImageView) findViewById(R.id.albumart);
|
||||
mBtnPrev = (ImageView) findViewById(R.id.btn_prev);
|
||||
mBtnPlay = (ImageView) findViewById(R.id.btn_play);
|
||||
mBtnNext = (ImageView) findViewById(R.id.btn_next);
|
||||
final View buttons[] = { mBtnPrev, mBtnPlay, mBtnNext };
|
||||
for (View view : buttons) {
|
||||
view.setOnClickListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
if (mPopulateMetadataWhenAttached != null) {
|
||||
updateMetadata(mPopulateMetadataWhenAttached);
|
||||
mPopulateMetadataWhenAttached = null;
|
||||
}
|
||||
if (!mAttached) {
|
||||
if (DEBUG) Log.v(TAG, "Registering TCV " + this);
|
||||
mAudioManager.registerRemoteControlDisplay(mIRCD);
|
||||
}
|
||||
mAttached = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow();
|
||||
if (mAttached) {
|
||||
if (DEBUG) Log.v(TAG, "Unregistering TCV " + this);
|
||||
mAudioManager.unregisterRemoteControlDisplay(mIRCD);
|
||||
}
|
||||
mAttached = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
int dim = Math.min(MAXDIM, Math.max(getWidth(), getHeight()));
|
||||
// Log.v(TAG, "setting max bitmap size: " + dim + "x" + dim);
|
||||
// mAudioManager.remoteControlDisplayUsesBitmapSize(mIRCD, dim, dim);
|
||||
}
|
||||
|
||||
class Metadata {
|
||||
private String artist;
|
||||
private String trackTitle;
|
||||
private String albumTitle;
|
||||
private Bitmap bitmap;
|
||||
|
||||
public String toString() {
|
||||
return "Metadata[artist=" + artist + " trackTitle=" + trackTitle + " albumTitle=" + albumTitle + "]";
|
||||
}
|
||||
}
|
||||
|
||||
private String getMdString(Bundle data, int id) {
|
||||
return data.getString(Integer.toString(id));
|
||||
}
|
||||
|
||||
private void updateMetadata(Bundle data) {
|
||||
if (mAttached) {
|
||||
mMetadata.artist = getMdString(data, MediaMetadataRetriever.METADATA_KEY_ALBUMARTIST);
|
||||
mMetadata.trackTitle = getMdString(data, MediaMetadataRetriever.METADATA_KEY_TITLE);
|
||||
mMetadata.albumTitle = getMdString(data, MediaMetadataRetriever.METADATA_KEY_ALBUM);
|
||||
populateMetadata();
|
||||
} else {
|
||||
mPopulateMetadataWhenAttached = data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Populates the given metadata into the view
|
||||
*/
|
||||
private void populateMetadata() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int trackTitleLength = 0;
|
||||
if (!TextUtils.isEmpty(mMetadata.trackTitle)) {
|
||||
sb.append(mMetadata.trackTitle);
|
||||
trackTitleLength = mMetadata.trackTitle.length();
|
||||
}
|
||||
if (!TextUtils.isEmpty(mMetadata.artist)) {
|
||||
if (sb.length() != 0) {
|
||||
sb.append(" - ");
|
||||
}
|
||||
sb.append(mMetadata.artist);
|
||||
}
|
||||
if (!TextUtils.isEmpty(mMetadata.albumTitle)) {
|
||||
if (sb.length() != 0) {
|
||||
sb.append(" - ");
|
||||
}
|
||||
sb.append(mMetadata.albumTitle);
|
||||
}
|
||||
mTrackTitle.setText(sb.toString(), TextView.BufferType.SPANNABLE);
|
||||
Spannable str = (Spannable) mTrackTitle.getText();
|
||||
if (trackTitleLength != 0) {
|
||||
str.setSpan(new ForegroundColorSpan(0xffffffff), 0, trackTitleLength,
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
trackTitleLength++;
|
||||
}
|
||||
if (sb.length() > trackTitleLength) {
|
||||
str.setSpan(new ForegroundColorSpan(0x7fffffff), trackTitleLength, sb.length(),
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
|
||||
mAlbumArt.setImageBitmap(mMetadata.bitmap);
|
||||
final int flags = mTransportControlFlags;
|
||||
setVisibilityBasedOnFlag(mBtnPrev, flags, RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS);
|
||||
setVisibilityBasedOnFlag(mBtnNext, flags, RemoteControlClient.FLAG_KEY_MEDIA_NEXT);
|
||||
setVisibilityBasedOnFlag(mBtnPlay, flags,
|
||||
RemoteControlClient.FLAG_KEY_MEDIA_PLAY
|
||||
| RemoteControlClient.FLAG_KEY_MEDIA_PAUSE
|
||||
| RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE
|
||||
| RemoteControlClient.FLAG_KEY_MEDIA_STOP);
|
||||
|
||||
updatePlayPauseState(mCurrentPlayState);
|
||||
}
|
||||
|
||||
private static void setVisibilityBasedOnFlag(View view, int flags, int flag) {
|
||||
if ((flags & flag) != 0) {
|
||||
view.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
view.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private void updatePlayPauseState(int state) {
|
||||
if (DEBUG) Log.v(TAG,
|
||||
"updatePlayPauseState(), old=" + mCurrentPlayState + ", state=" + state);
|
||||
if (state == mCurrentPlayState) {
|
||||
return;
|
||||
}
|
||||
final int imageResId;
|
||||
final int imageDescId;
|
||||
boolean showIfHidden = false;
|
||||
switch (state) {
|
||||
case RemoteControlClient.PLAYSTATE_ERROR:
|
||||
imageResId = com.android.internal.R.drawable.stat_sys_warning;
|
||||
// TODO use more specific image description string for warning, but here the "play"
|
||||
// message is still valid because this button triggers a play command.
|
||||
imageDescId = com.android.internal.R.string.lockscreen_transport_play_description;
|
||||
break;
|
||||
|
||||
case RemoteControlClient.PLAYSTATE_PLAYING:
|
||||
imageResId = com.android.internal.R.drawable.ic_media_pause;
|
||||
imageDescId = com.android.internal.R.string.lockscreen_transport_pause_description;
|
||||
showIfHidden = true;
|
||||
break;
|
||||
|
||||
case RemoteControlClient.PLAYSTATE_BUFFERING:
|
||||
imageResId = com.android.internal.R.drawable.ic_media_stop;
|
||||
imageDescId = com.android.internal.R.string.lockscreen_transport_stop_description;
|
||||
showIfHidden = true;
|
||||
break;
|
||||
|
||||
case RemoteControlClient.PLAYSTATE_PAUSED:
|
||||
default:
|
||||
imageResId = com.android.internal.R.drawable.ic_media_play;
|
||||
imageDescId = com.android.internal.R.string.lockscreen_transport_play_description;
|
||||
showIfHidden = false;
|
||||
break;
|
||||
}
|
||||
mBtnPlay.setImageResource(imageResId);
|
||||
mBtnPlay.setContentDescription(getResources().getString(imageDescId));
|
||||
if (showIfHidden && mWidgetCallbacks != null && !mWidgetCallbacks.isVisible(this)) {
|
||||
mWidgetCallbacks.requestShow(this);
|
||||
}
|
||||
mCurrentPlayState = state;
|
||||
}
|
||||
|
||||
static class SavedState extends BaseSavedState {
|
||||
boolean wasShowing;
|
||||
|
||||
SavedState(Parcelable superState) {
|
||||
super(superState);
|
||||
}
|
||||
|
||||
private SavedState(Parcel in) {
|
||||
super(in);
|
||||
this.wasShowing = in.readInt() != 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel out, int flags) {
|
||||
super.writeToParcel(out, flags);
|
||||
out.writeInt(this.wasShowing ? 1 : 0);
|
||||
}
|
||||
|
||||
public static final Parcelable.Creator<SavedState> CREATOR
|
||||
= new Parcelable.Creator<SavedState>() {
|
||||
public SavedState createFromParcel(Parcel in) {
|
||||
return new SavedState(in);
|
||||
}
|
||||
|
||||
public SavedState[] newArray(int size) {
|
||||
return new SavedState[size];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Parcelable onSaveInstanceState() {
|
||||
if (DEBUG) Log.v(TAG, "onSaveInstanceState()");
|
||||
Parcelable superState = super.onSaveInstanceState();
|
||||
SavedState ss = new SavedState(superState);
|
||||
ss.wasShowing = mWidgetCallbacks != null && mWidgetCallbacks.isVisible(this);
|
||||
return ss;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRestoreInstanceState(Parcelable state) {
|
||||
if (DEBUG) Log.v(TAG, "onRestoreInstanceState()");
|
||||
if (!(state instanceof SavedState)) {
|
||||
super.onRestoreInstanceState(state);
|
||||
return;
|
||||
}
|
||||
SavedState ss = (SavedState) state;
|
||||
super.onRestoreInstanceState(ss.getSuperState());
|
||||
if (ss.wasShowing && mWidgetCallbacks != null) {
|
||||
mWidgetCallbacks.requestShow(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void onClick(View v) {
|
||||
int keyCode = -1;
|
||||
if (v == mBtnPrev) {
|
||||
keyCode = KeyEvent.KEYCODE_MEDIA_PREVIOUS;
|
||||
} else if (v == mBtnNext) {
|
||||
keyCode = KeyEvent.KEYCODE_MEDIA_NEXT;
|
||||
} else if (v == mBtnPlay) {
|
||||
keyCode = KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE;
|
||||
|
||||
}
|
||||
if (keyCode != -1) {
|
||||
sendMediaButtonClick(keyCode);
|
||||
if (mWidgetCallbacks != null) {
|
||||
mWidgetCallbacks.userActivity(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sendMediaButtonClick(int keyCode) {
|
||||
if (mClientIntent == null) {
|
||||
// Shouldn't be possible because this view should be hidden in this case.
|
||||
Log.e(TAG, "sendMediaButtonClick(): No client is currently registered");
|
||||
return;
|
||||
}
|
||||
// use the registered PendingIntent that will be processed by the registered
|
||||
// media button event receiver, which is the component of mClientIntent
|
||||
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
|
||||
Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
|
||||
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
|
||||
try {
|
||||
mClientIntent.send(getContext(), 0, intent);
|
||||
} catch (CanceledException e) {
|
||||
Log.e(TAG, "Error sending intent for media button down: "+e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
|
||||
intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
|
||||
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
|
||||
try {
|
||||
mClientIntent.send(getContext(), 0, intent);
|
||||
} catch (CanceledException e) {
|
||||
Log.e(TAG, "Error sending intent for media button up: "+e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setCallback(LockScreenWidgetCallback callback) {
|
||||
mWidgetCallbacks = callback;
|
||||
}
|
||||
|
||||
public boolean providesClock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean wasPlayingRecently(int state, long stateChangeTimeMs) {
|
||||
switch (state) {
|
||||
case RemoteControlClient.PLAYSTATE_PLAYING:
|
||||
case RemoteControlClient.PLAYSTATE_FAST_FORWARDING:
|
||||
case RemoteControlClient.PLAYSTATE_REWINDING:
|
||||
case RemoteControlClient.PLAYSTATE_SKIPPING_FORWARDS:
|
||||
case RemoteControlClient.PLAYSTATE_SKIPPING_BACKWARDS:
|
||||
case RemoteControlClient.PLAYSTATE_BUFFERING:
|
||||
// actively playing or about to play
|
||||
return true;
|
||||
case RemoteControlClient.PLAYSTATE_NONE:
|
||||
return false;
|
||||
case RemoteControlClient.PLAYSTATE_STOPPED:
|
||||
case RemoteControlClient.PLAYSTATE_PAUSED:
|
||||
case RemoteControlClient.PLAYSTATE_ERROR:
|
||||
// we have stopped playing, check how long ago
|
||||
if (DEBUG) {
|
||||
if ((SystemClock.elapsedRealtime() - stateChangeTimeMs) < DISPLAY_TIMEOUT_MS) {
|
||||
Log.v(TAG, "wasPlayingRecently: time < TIMEOUT was playing recently");
|
||||
} else {
|
||||
Log.v(TAG, "wasPlayingRecently: time > TIMEOUT");
|
||||
}
|
||||
}
|
||||
return ((SystemClock.elapsedRealtime() - stateChangeTimeMs) < DISPLAY_TIMEOUT_MS);
|
||||
default:
|
||||
Log.e(TAG, "Unknown playback state " + state + " in wasPlayingRecently()");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2187,6 +2187,13 @@
|
||||
android:description="@string/permdesc_accessNotifications"
|
||||
android:protectionLevel="signature|system" />
|
||||
|
||||
<!-- Allows access to keyguard secure storage. Only allowed for system processes.
|
||||
@hide -->
|
||||
<permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
|
||||
android:protectionLevel="signature"
|
||||
android:label="@string/permlab_access_keyguard_secure_storage"
|
||||
android:description="@string/permdesc_access_keyguard_secure_storage" />
|
||||
|
||||
<!-- The system process is explicitly the only one allowed to launch the
|
||||
confirmation UI for full backup/restore -->
|
||||
<uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
|
||||
|
||||
24
core/res/res/anim/lock_screen_enter.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2007, 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@interpolator/accelerate_cubic">
|
||||
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||
android:duration="@android:integer/config_activityDefaultDur" />
|
||||
</set>
|
||||
36
core/res/res/anim/lock_screen_exit.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2007, 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:zAdjustment="top"
|
||||
android:shareInterpolator="false">
|
||||
<scale
|
||||
android:fromXScale="1.0" android:toXScale="1.10"
|
||||
android:fromYScale="1.0" android:toYScale="1.10"
|
||||
android:pivotX="50%p" android:pivotY="50%p"
|
||||
android:fillEnabled="true" android:fillAfter="true"
|
||||
android:interpolator="@interpolator/accelerate_quint"
|
||||
android:duration="@android:integer/config_shortAnimTime" />
|
||||
<alpha
|
||||
android:fromAlpha="1.0" android:toAlpha="0"
|
||||
android:fillEnabled="true" android:fillAfter="true"
|
||||
android:interpolator="@interpolator/accelerate_quad"
|
||||
android:duration="@android:integer/config_shortAnimTime"/>
|
||||
</set>
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
BIN
core/res/res/drawable-hdpi/ic_action_assist_generic_normal.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
core/res/res/drawable-hdpi/ic_input_delete.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
core/res/res/drawable-hdpi/ic_lockscreen_glowdot.png
Normal file
|
After Width: | Height: | Size: 738 B |
BIN
core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
core/res/res/drawable-ldpi/ic_input_delete.png
Normal file
|
After Width: | Height: | Size: 825 B |
|
After Width: | Height: | Size: 5.7 KiB |
BIN
core/res/res/drawable-mdpi/ic_action_assist_generic_normal.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
core/res/res/drawable-mdpi/ic_input_delete.png
Normal file
|
After Width: | Height: | Size: 786 B |
BIN
core/res/res/drawable-mdpi/ic_lockscreen_glowdot.png
Normal file
|
After Width: | Height: | Size: 538 B |
BIN
core/res/res/drawable-mdpi/ic_lockscreen_handle_pressed.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 14 KiB |
BIN
core/res/res/drawable-xhdpi/ic_action_assist_generic_normal.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
core/res/res/drawable-xhdpi/ic_input_delete.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
core/res/res/drawable-xhdpi/ic_lockscreen_glowdot.png
Normal file
|
After Width: | Height: | Size: 964 B |
BIN
core/res/res/drawable-xhdpi/ic_lockscreen_handle_pressed.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
36
core/res/res/drawable/ic_action_assist_generic.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 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.
|
||||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
android:state_enabled="true"
|
||||
android:state_active="false"
|
||||
android:state_focused="false"
|
||||
android:drawable="@drawable/ic_action_assist_generic_normal" />
|
||||
|
||||
<item
|
||||
android:state_enabled="true"
|
||||
android:state_active="true"
|
||||
android:state_focused="false"
|
||||
android:drawable="@drawable/ic_action_assist_generic_activated" />
|
||||
|
||||
<item
|
||||
android:state_enabled="true"
|
||||
android:state_active="false"
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/ic_action_assist_generic_activated" />
|
||||
|
||||
</selector>
|
||||
24
core/res/res/drawable/ic_lockscreen_outerring.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 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.
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval"
|
||||
>
|
||||
<size android:height="@dimen/keyguard_lockscreen_outerring_diameter"
|
||||
android:width="@dimen/keyguard_lockscreen_outerring_diameter" />
|
||||
<solid android:color="#00000000" />
|
||||
<stroke android:color="#1affffff" android:width="2dp" />
|
||||
</shape>
|
||||
@@ -19,54 +19,4 @@
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
|
||||
<!-- Resources for GlowPadView in LockScreen -->
|
||||
<array name="lockscreen_targets_when_silent">
|
||||
<item>@null</item>"
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_soundon</item>
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_silent">
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_soundon</item>
|
||||
<item>@string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_direction_descriptions">
|
||||
<item>@null</item>
|
||||
<item>@string/description_direction_up</item>
|
||||
<item>@string/description_direction_left</item>
|
||||
<item>@string/description_direction_down</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_when_soundon">
|
||||
<item>@null</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_silent</item>
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_soundon">
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_silent</item>
|
||||
<item>@string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_with_camera">
|
||||
<item>@null</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_camera</item>
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_with_camera">
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_camera</item>
|
||||
<item>@string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -19,54 +19,4 @@
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
|
||||
<!-- Resources for GlowPadView in LockScreen -->
|
||||
<array name="lockscreen_targets_when_silent">
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
<item>@null</item>
|
||||
<item>@drawable/ic_lockscreen_soundon</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_silent">
|
||||
<item>@string/description_target_unlock</item>
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_soundon</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_direction_descriptions">
|
||||
<item>@string/description_direction_right</item>
|
||||
<item>@null</item>
|
||||
<item>@string/description_direction_left</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_when_soundon">
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
<item>@null</item>
|
||||
<item>@drawable/ic_lockscreen_silent</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_soundon">
|
||||
<item>@string/description_target_unlock</item>
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_silent</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_with_camera">
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_camera</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_with_camera">
|
||||
<item>@string/description_target_unlock</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_camera</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -342,75 +342,4 @@
|
||||
<item>中文 (繁體)</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Resources for GlowPadView in LockScreen -->
|
||||
<array name="lockscreen_targets_when_silent">
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_soundon</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_silent">
|
||||
<item>@string/description_target_unlock</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_soundon</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_direction_descriptions">
|
||||
<item>@string/description_direction_right</item>
|
||||
<item>@string/description_direction_up</item>
|
||||
<item>@string/description_direction_left</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_when_soundon">
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_silent</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_soundon">
|
||||
<item>@string/description_target_unlock</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_silent</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_with_camera">
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_camera</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_with_camera">
|
||||
<item>@string/description_target_unlock</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_camera</item>
|
||||
<item>@null</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_unlock_only">
|
||||
<item>@*android:drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_unlock_only">
|
||||
<item>@*android:string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
<!-- list of 3- or 4-letter mnemonics for a 10-key numeric keypad -->
|
||||
<string-array translatable="false" name="lockscreen_num_pad_klondike">
|
||||
<item></item><!-- 0 -->
|
||||
<item></item><!-- 1 -->
|
||||
<item>ABC</item><!-- 2 -->
|
||||
<item>DEF</item><!-- 3 -->
|
||||
<item>GHI</item><!-- 4 -->
|
||||
<item>JKL</item><!-- 5 -->
|
||||
<item>MNO</item><!-- 6 -->
|
||||
<item>PQRS</item><!-- 7 -->
|
||||
<item>TUV</item><!-- 8 -->
|
||||
<item>WXYZ</item><!-- 9 -->
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -3429,6 +3429,11 @@
|
||||
<!-- Description of an application permission that lets an application route media output. -->
|
||||
<string name="permdesc_route_media_output">Allows an application to route media output to other external devices.</string>
|
||||
|
||||
<!-- Title of an application permission that lets an application access keyguard secure storage. -->
|
||||
<string name="permlab_access_keyguard_secure_storage">Access keyguard secure storage</string>
|
||||
<!-- Description of an application permission that lets an application access keyguard secure storage. -->
|
||||
<string name="permdesc_access_keyguard_secure_storage">Allows an application to access keguard secure storage.</string>
|
||||
|
||||
<!-- Shown in the tutorial for tap twice for zoom control. -->
|
||||
<string name="tutorial_double_tap_to_zoom_message_short">Touch twice for zoom control</string>
|
||||
|
||||
|
||||
@@ -38,16 +38,12 @@
|
||||
<java-symbol type="id" name="action_menu_presenter" />
|
||||
<java-symbol type="id" name="action_mode_close_button" />
|
||||
<java-symbol type="id" name="activity_chooser_view_content" />
|
||||
<java-symbol type="id" name="albumart" />
|
||||
<java-symbol type="id" name="alertTitle" />
|
||||
<java-symbol type="id" name="allow_button" />
|
||||
<java-symbol type="id" name="alwaysUse" />
|
||||
<java-symbol type="id" name="amPm" />
|
||||
<java-symbol type="id" name="authtoken_type" />
|
||||
<java-symbol type="id" name="back_button" />
|
||||
<java-symbol type="id" name="btn_next" />
|
||||
<java-symbol type="id" name="btn_play" />
|
||||
<java-symbol type="id" name="btn_prev" />
|
||||
<java-symbol type="id" name="button_bar" />
|
||||
<java-symbol type="id" name="buttonPanel" />
|
||||
<java-symbol type="id" name="by_common" />
|
||||
@@ -558,26 +554,6 @@
|
||||
<java-symbol type="string" name="keyboardview_keycode_enter" />
|
||||
<java-symbol type="string" name="keyboardview_keycode_mode_change" />
|
||||
<java-symbol type="string" name="keyboardview_keycode_shift" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_add_widget" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_camera" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_expand_lock_area" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_face_unlock" />
|
||||
<java-symbol type="string" name="keygaurd_accessibility_media_controls" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_pattern_area" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_pattern_unlock" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_password_unlock" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_pin_unlock" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_slide_area" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_slide_unlock" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_status" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_user_selector" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_widget" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_widget_deleted" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_widget_empty_slot" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_widget_reorder_start" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_widget_reorder_end" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_unlock_area_collapsed" />
|
||||
<java-symbol type="string" name="keyguard_accessibility_unlock_area_expanded" />
|
||||
<java-symbol type="string" name="kilobyteShort" />
|
||||
<java-symbol type="string" name="last_month" />
|
||||
<java-symbol type="string" name="launchBrowserDefault" />
|
||||
@@ -587,9 +563,6 @@
|
||||
<java-symbol type="string" name="lockscreen_access_pattern_start" />
|
||||
<java-symbol type="string" name="lockscreen_emergency_call" />
|
||||
<java-symbol type="string" name="lockscreen_return_to_call" />
|
||||
<java-symbol type="string" name="lockscreen_transport_pause_description" />
|
||||
<java-symbol type="string" name="lockscreen_transport_play_description" />
|
||||
<java-symbol type="string" name="lockscreen_transport_stop_description" />
|
||||
<java-symbol type="string" name="low_memory" />
|
||||
<java-symbol type="string" name="media_bad_removal" />
|
||||
<java-symbol type="string" name="media_checking" />
|
||||
@@ -1000,16 +973,11 @@
|
||||
<java-symbol type="drawable" name="unlock_halo" />
|
||||
<java-symbol type="drawable" name="unlock_ring" />
|
||||
<java-symbol type="drawable" name="unlock_wave" />
|
||||
<java-symbol type="drawable" name="ic_lockscreen_camera" />
|
||||
<java-symbol type="drawable" name="ic_lockscreen_silent" />
|
||||
<java-symbol type="drawable" name="ic_lockscreen_unlock" />
|
||||
<java-symbol type="drawable" name="ic_action_assist_generic" />
|
||||
<java-symbol type="drawable" name="ic_lockscreen_alarm" />
|
||||
<java-symbol type="drawable" name="notification_bg" />
|
||||
<java-symbol type="drawable" name="notification_bg_low" />
|
||||
<java-symbol type="drawable" name="notification_template_icon_bg" />
|
||||
<java-symbol type="drawable" name="notification_template_icon_low_bg" />
|
||||
<java-symbol type="drawable" name="ic_lockscreen_unlock_phantom" />
|
||||
<java-symbol type="drawable" name="ic_media_route_on_holo_dark" />
|
||||
<java-symbol type="drawable" name="ic_media_route_disabled_holo_dark" />
|
||||
|
||||
@@ -1109,10 +1077,7 @@
|
||||
<java-symbol type="layout" name="notification_template_part_time" />
|
||||
<java-symbol type="layout" name="notification_template_part_chronometer" />
|
||||
<java-symbol type="layout" name="notification_template_inbox" />
|
||||
<java-symbol type="layout" name="keyguard_multi_user_avatar" />
|
||||
<java-symbol type="layout" name="keyguard_multi_user_selector_widget" />
|
||||
<java-symbol type="layout" name="sms_short_code_confirmation_dialog" />
|
||||
<java-symbol type="layout" name="keyguard_add_widget" />
|
||||
<java-symbol type="layout" name="action_bar_up_container" />
|
||||
|
||||
<java-symbol type="anim" name="slide_in_child_bottom" />
|
||||
@@ -1129,7 +1094,6 @@
|
||||
<java-symbol type="xml" name="password_kbd_qwerty_shifted" />
|
||||
<java-symbol type="xml" name="password_kbd_symbols" />
|
||||
<java-symbol type="xml" name="password_kbd_symbols_shift" />
|
||||
<java-symbol type="xml" name="kg_password_kbd_numeric" />
|
||||
<java-symbol type="xml" name="power_profile" />
|
||||
<java-symbol type="xml" name="time_zones_by_country" />
|
||||
<java-symbol type="xml" name="sms_short_codes" />
|
||||
@@ -1181,8 +1145,6 @@
|
||||
|
||||
<!-- From android.policy -->
|
||||
<java-symbol type="anim" name="app_starting_exit" />
|
||||
<java-symbol type="anim" name="lock_screen_behind_enter" />
|
||||
<java-symbol type="anim" name="lock_screen_wallpaper_behind_enter" />
|
||||
<java-symbol type="anim" name="dock_top_enter" />
|
||||
<java-symbol type="anim" name="dock_top_exit" />
|
||||
<java-symbol type="anim" name="dock_bottom_enter" />
|
||||
@@ -1191,22 +1153,12 @@
|
||||
<java-symbol type="anim" name="dock_left_exit" />
|
||||
<java-symbol type="anim" name="dock_right_enter" />
|
||||
<java-symbol type="anim" name="dock_right_exit" />
|
||||
<java-symbol type="anim" name="keyguard_security_animate_in" />
|
||||
<java-symbol type="anim" name="keyguard_security_animate_out" />
|
||||
<java-symbol type="anim" name="keyguard_security_fade_in" />
|
||||
<java-symbol type="anim" name="keyguard_security_fade_out" />
|
||||
<java-symbol type="anim" name="keyguard_action_assist_exit" />
|
||||
<java-symbol type="anim" name="keyguard_action_assist_enter" />
|
||||
|
||||
<java-symbol type="array" name="config_keyboardTapVibePattern" />
|
||||
<java-symbol type="array" name="config_longPressVibePattern" />
|
||||
<java-symbol type="array" name="config_safeModeDisabledVibePattern" />
|
||||
<java-symbol type="array" name="config_safeModeEnabledVibePattern" />
|
||||
<java-symbol type="array" name="config_virtualKeyVibePattern" />
|
||||
<java-symbol type="array" name="lockscreen_targets_when_silent" />
|
||||
<java-symbol type="array" name="lockscreen_targets_when_soundon" />
|
||||
<java-symbol type="array" name="lockscreen_targets_with_camera" />
|
||||
<java-symbol type="array" name="lockscreen_num_pad_klondike" />
|
||||
<java-symbol type="attr" name="actionModePopupWindowStyle" />
|
||||
<java-symbol type="attr" name="dialogCustomTitleDecorLayout" />
|
||||
<java-symbol type="attr" name="dialogTitleDecorLayout" />
|
||||
@@ -1221,33 +1173,11 @@
|
||||
<java-symbol type="bool" name="config_lidControlsSleep" />
|
||||
<java-symbol type="bool" name="config_reverseDefaultRotation" />
|
||||
<java-symbol type="bool" name="config_showNavigationBar" />
|
||||
<java-symbol type="bool" name="kg_enable_camera_default_widget" />
|
||||
<java-symbol type="bool" name="kg_share_status_area" />
|
||||
<java-symbol type="bool" name="kg_sim_puk_account_full_screen" />
|
||||
<java-symbol type="bool" name="kg_top_align_page_shrink_on_bouncer_visible" />
|
||||
<java-symbol type="bool" name="target_honeycomb_needs_options_menu" />
|
||||
<java-symbol type="bool" name="kg_center_small_widgets_vertically" />
|
||||
<java-symbol type="bool" name="kg_show_ime_at_screen_on" />
|
||||
<java-symbol type="color" name="kg_multi_user_text_active" />
|
||||
<java-symbol type="color" name="kg_multi_user_text_inactive" />
|
||||
<java-symbol type="color" name="kg_widget_pager_gradient" />
|
||||
<java-symbol type="color" name="keyguard_avatar_frame_color" />
|
||||
<java-symbol type="color" name="keyguard_avatar_frame_pressed_color" />
|
||||
<java-symbol type="color" name="keyguard_avatar_frame_shadow_color" />
|
||||
<java-symbol type="color" name="keyguard_avatar_nick_color" />
|
||||
<java-symbol type="dimen" name="navigation_bar_height" />
|
||||
<java-symbol type="dimen" name="navigation_bar_height_landscape" />
|
||||
<java-symbol type="dimen" name="navigation_bar_width" />
|
||||
<java-symbol type="dimen" name="status_bar_height" />
|
||||
<java-symbol type="dimen" name="kg_widget_pager_horizontal_padding" />
|
||||
<java-symbol type="dimen" name="kg_widget_pager_top_padding" />
|
||||
<java-symbol type="dimen" name="kg_widget_pager_bottom_padding" />
|
||||
<java-symbol type="dimen" name="keyguard_avatar_size" />
|
||||
<java-symbol type="dimen" name="keyguard_avatar_frame_stroke_width" />
|
||||
<java-symbol type="dimen" name="keyguard_avatar_frame_shadow_radius" />
|
||||
<java-symbol type="dimen" name="kg_edge_swipe_region_size" />
|
||||
<java-symbol type="dimen" name="kg_squashed_layout_threshold" />
|
||||
<java-symbol type="dimen" name="kg_small_widget_height" />
|
||||
<java-symbol type="drawable" name="ic_jog_dial_sound_off" />
|
||||
<java-symbol type="drawable" name="ic_jog_dial_sound_on" />
|
||||
<java-symbol type="drawable" name="ic_jog_dial_unlock" />
|
||||
@@ -1266,9 +1196,7 @@
|
||||
<java-symbol type="drawable" name="magnified_region_frame" />
|
||||
<java-symbol type="drawable" name="menu_background" />
|
||||
<java-symbol type="drawable" name="stat_sys_secure" />
|
||||
<java-symbol type="drawable" name="kg_widget_bg_padded" />
|
||||
<java-symbol type="id" name="action_mode_bar_stub" />
|
||||
<java-symbol type="id" name="alarm_status" />
|
||||
<java-symbol type="id" name="button0" />
|
||||
<java-symbol type="id" name="button4" />
|
||||
<java-symbol type="id" name="button5" />
|
||||
@@ -1276,15 +1204,12 @@
|
||||
<java-symbol type="id" name="button7" />
|
||||
<java-symbol type="id" name="date" />
|
||||
<java-symbol type="id" name="eight" />
|
||||
<java-symbol type="id" name="face_unlock_area_view" />
|
||||
<java-symbol type="id" name="face_unlock_cancel_button" />
|
||||
<java-symbol type="id" name="five" />
|
||||
<java-symbol type="id" name="four" />
|
||||
<java-symbol type="id" name="icon_menu_presenter" />
|
||||
<java-symbol type="id" name="keyboard" />
|
||||
<java-symbol type="id" name="list_menu_presenter" />
|
||||
<java-symbol type="id" name="lock_screen" />
|
||||
<java-symbol type="id" name="login" />
|
||||
<java-symbol type="id" name="nine" />
|
||||
<java-symbol type="id" name="no_applications_message" />
|
||||
<java-symbol type="id" name="ok" />
|
||||
@@ -1292,56 +1217,14 @@
|
||||
<java-symbol type="id" name="option1" />
|
||||
<java-symbol type="id" name="option2" />
|
||||
<java-symbol type="id" name="option3" />
|
||||
<java-symbol type="id" name="password" />
|
||||
<java-symbol type="id" name="passwordEntry" />
|
||||
<java-symbol type="id" name="pinEntry" />
|
||||
<java-symbol type="id" name="right_icon" />
|
||||
<java-symbol type="id" name="seven" />
|
||||
<java-symbol type="id" name="six" />
|
||||
<java-symbol type="id" name="status" />
|
||||
<java-symbol type="id" name="switch_ime_button" />
|
||||
<java-symbol type="id" name="three" />
|
||||
<java-symbol type="id" name="title_container" />
|
||||
<java-symbol type="id" name="two" />
|
||||
<java-symbol type="id" name="zero" />
|
||||
<java-symbol type="id" name="keyguard_message_area" />
|
||||
<java-symbol type="id" name="keyguard_click_area" />
|
||||
<java-symbol type="id" name="keyguard_selector_view" />
|
||||
<java-symbol type="id" name="keyguard_pattern_view" />
|
||||
<java-symbol type="id" name="keyguard_password_view" />
|
||||
<java-symbol type="id" name="keyguard_pin_view" />
|
||||
<java-symbol type="id" name="keyguard_face_unlock_view" />
|
||||
<java-symbol type="id" name="keyguard_sim_pin_view" />
|
||||
<java-symbol type="id" name="keyguard_sim_puk_view" />
|
||||
<java-symbol type="id" name="keyguard_account_view" />
|
||||
<java-symbol type="id" name="keyguard_selector_fade_container" />
|
||||
<java-symbol type="id" name="keyguard_widget_pager_delete_target" />
|
||||
<java-symbol type="id" name="keyguard_bouncer_frame" />
|
||||
<java-symbol type="id" name="app_widget_container" />
|
||||
<java-symbol type="id" name="view_flipper" />
|
||||
<java-symbol type="id" name="emergency_call_button" />
|
||||
<java-symbol type="id" name="keyguard_host_view" />
|
||||
<java-symbol type="id" name="delete_button" />
|
||||
<java-symbol type="id" name="lockPatternView" />
|
||||
<java-symbol type="id" name="forgot_password_button" />
|
||||
<java-symbol type="id" name="glow_pad_view" />
|
||||
<java-symbol type="id" name="delete_button" />
|
||||
<java-symbol type="id" name="keyguard_user_avatar" />
|
||||
<java-symbol type="id" name="keyguard_user_name" />
|
||||
<java-symbol type="id" name="keyguard_transport_control" />
|
||||
<java-symbol type="id" name="keyguard_status_view" />
|
||||
<java-symbol type="id" name="keyguard_status_view_face_palm" />
|
||||
<java-symbol type="id" name="keyguard_users_grid" />
|
||||
<java-symbol type="id" name="clock_text" />
|
||||
<java-symbol type="id" name="clock_view" />
|
||||
<java-symbol type="id" name="keyguard_multi_user_selector" />
|
||||
<java-symbol type="id" name="sliding_layout" />
|
||||
<java-symbol type="id" name="keyguard_add_widget" />
|
||||
<java-symbol type="id" name="keyguard_add_widget_view" />
|
||||
<java-symbol type="id" name="multi_pane_challenge" />
|
||||
<java-symbol type="id" name="keyguard_user_selector" />
|
||||
<java-symbol type="id" name="key_enter" />
|
||||
<java-symbol type="id" name="keyguard_selector_view_frame" />
|
||||
<java-symbol type="integer" name="config_carDockRotation" />
|
||||
<java-symbol type="integer" name="config_defaultUiModeType" />
|
||||
<java-symbol type="integer" name="config_deskDockRotation" />
|
||||
@@ -1349,18 +1232,8 @@
|
||||
<java-symbol type="integer" name="config_lidNavigationAccessibility" />
|
||||
<java-symbol type="integer" name="config_lidOpenRotation" />
|
||||
<java-symbol type="integer" name="config_longPressOnHomeBehavior" />
|
||||
<java-symbol type="integer" name="kg_security_flip_duration" />
|
||||
<java-symbol type="integer" name="kg_carousel_angle" />
|
||||
<java-symbol type="layout" name="global_actions_item" />
|
||||
<java-symbol type="layout" name="global_actions_silent_mode" />
|
||||
<java-symbol type="layout" name="keyguard_selector_view" />
|
||||
<java-symbol type="layout" name="keyguard_pattern_view" />
|
||||
<java-symbol type="layout" name="keyguard_password_view" />
|
||||
<java-symbol type="layout" name="keyguard_pin_view" />
|
||||
<java-symbol type="layout" name="keyguard_face_unlock_view" />
|
||||
<java-symbol type="layout" name="keyguard_sim_pin_view" />
|
||||
<java-symbol type="layout" name="keyguard_sim_puk_view" />
|
||||
<java-symbol type="layout" name="keyguard_account_view" />
|
||||
<java-symbol type="layout" name="recent_apps_dialog" />
|
||||
<java-symbol type="layout" name="screen_action_bar" />
|
||||
<java-symbol type="layout" name="screen_action_bar_overlay" />
|
||||
@@ -1370,9 +1243,6 @@
|
||||
<java-symbol type="layout" name="screen_simple_overlay_action_mode" />
|
||||
<java-symbol type="layout" name="screen_title" />
|
||||
<java-symbol type="layout" name="screen_title_icons" />
|
||||
<java-symbol type="layout" name="keyguard_host_view" />
|
||||
<java-symbol type="layout" name="keyguard_transport_control_view" />
|
||||
<java-symbol type="layout" name="keyguard_status_view" />
|
||||
<java-symbol type="string" name="abbrev_wday_month_day_no_year" />
|
||||
<java-symbol type="string" name="system_ui_date_pattern" />
|
||||
<java-symbol type="string" name="android_upgrading_title" />
|
||||
@@ -1388,41 +1258,7 @@
|
||||
<java-symbol type="string" name="global_action_silent_mode_on_status" />
|
||||
<java-symbol type="string" name="global_action_toggle_silent_mode" />
|
||||
<java-symbol type="string" name="invalidPuk" />
|
||||
<java-symbol type="string" name="keyguard_password_enter_pin_code" />
|
||||
<java-symbol type="string" name="keyguard_password_enter_puk_code" />
|
||||
<java-symbol type="string" name="keyguard_password_wrong_pin_code" />
|
||||
<java-symbol type="string" name="lockscreen_carrier_default" />
|
||||
<java-symbol type="string" name="lockscreen_charged" />
|
||||
<java-symbol type="string" name="lockscreen_failed_attempts_almost_at_wipe" />
|
||||
<java-symbol type="string" name="lockscreen_failed_attempts_almost_glogin" />
|
||||
<java-symbol type="string" name="lockscreen_failed_attempts_now_wiping" />
|
||||
<java-symbol type="string" name="lockscreen_forgot_pattern_button_text" />
|
||||
<java-symbol type="string" name="lockscreen_glogin_checking_password" />
|
||||
<java-symbol type="string" name="lockscreen_glogin_forgot_pattern" />
|
||||
<java-symbol type="string" name="lockscreen_glogin_invalid_input" />
|
||||
<java-symbol type="string" name="lockscreen_glogin_too_many_attempts" />
|
||||
<java-symbol type="string" name="lockscreen_instructions_when_pattern_disabled" />
|
||||
<java-symbol type="string" name="lockscreen_low_battery" />
|
||||
<java-symbol type="string" name="lockscreen_missing_sim_instructions" />
|
||||
<java-symbol type="string" name="lockscreen_missing_sim_instructions_long" />
|
||||
<java-symbol type="string" name="lockscreen_missing_sim_message_short" />
|
||||
<java-symbol type="string" name="lockscreen_network_locked_message" />
|
||||
<java-symbol type="string" name="lockscreen_password_wrong" />
|
||||
<java-symbol type="string" name="lockscreen_pattern_instructions" />
|
||||
<java-symbol type="string" name="lockscreen_pattern_wrong" />
|
||||
<java-symbol type="string" name="lockscreen_permanent_disabled_sim_message_short" />
|
||||
<java-symbol type="string" name="lockscreen_permanent_disabled_sim_instructions" />
|
||||
<java-symbol type="string" name="lockscreen_plugged_in" />
|
||||
<java-symbol type="string" name="lockscreen_sim_locked_message" />
|
||||
<java-symbol type="string" name="lockscreen_sim_puk_locked_message" />
|
||||
<java-symbol type="string" name="lockscreen_sim_unlock_progress_dialog_message" />
|
||||
<java-symbol type="string" name="lockscreen_sound_off_label" />
|
||||
<java-symbol type="string" name="lockscreen_sound_on_label" />
|
||||
<java-symbol type="string" name="lockscreen_too_many_failed_attempts_countdown" />
|
||||
<java-symbol type="string" name="lockscreen_too_many_failed_attempts_dialog_message" />
|
||||
<java-symbol type="string" name="lockscreen_too_many_failed_password_attempts_dialog_message" />
|
||||
<java-symbol type="string" name="lockscreen_too_many_failed_pin_attempts_dialog_message" />
|
||||
<java-symbol type="string" name="lockscreen_unlock_label" />
|
||||
<java-symbol type="string" name="status_bar_device_locked" />
|
||||
<java-symbol type="style" name="Animation.LockScreen" />
|
||||
<java-symbol type="style" name="Theme.Dialog.RecentApplications" />
|
||||
@@ -1430,40 +1266,6 @@
|
||||
<java-symbol type="style" name="Widget.Button.NumPadKey" />
|
||||
<java-symbol type="style" name="TextAppearance.NumPadKey" />
|
||||
<java-symbol type="style" name="TextAppearance.NumPadKey.Klondike" />
|
||||
<java-symbol type="string" name="kg_emergency_call_label" />
|
||||
<java-symbol type="string" name="kg_forgot_pattern_button_text" />
|
||||
<java-symbol type="string" name="kg_wrong_pattern" />
|
||||
<java-symbol type="string" name="kg_wrong_password" />
|
||||
<java-symbol type="string" name="kg_wrong_pin" />
|
||||
<java-symbol type="string" name="kg_too_many_failed_attempts_countdown" />
|
||||
<java-symbol type="string" name="kg_pattern_instructions" />
|
||||
<java-symbol type="string" name="kg_sim_pin_instructions" />
|
||||
<java-symbol type="string" name="kg_pin_instructions" />
|
||||
<java-symbol type="string" name="kg_password_instructions" />
|
||||
<java-symbol type="string" name="kg_puk_enter_puk_hint" />
|
||||
<java-symbol type="string" name="kg_puk_enter_pin_hint" />
|
||||
<java-symbol type="string" name="kg_sim_unlock_progress_dialog_message" />
|
||||
<java-symbol type="string" name="kg_password_wrong_pin_code" />
|
||||
<java-symbol type="string" name="kg_invalid_sim_pin_hint" />
|
||||
<java-symbol type="string" name="kg_invalid_sim_puk_hint" />
|
||||
<java-symbol type="string" name="kg_invalid_puk" />
|
||||
<java-symbol type="string" name="kg_login_too_many_attempts" />
|
||||
<java-symbol type="string" name="kg_login_instructions" />
|
||||
<java-symbol type="string" name="kg_login_username_hint" />
|
||||
<java-symbol type="string" name="kg_login_password_hint" />
|
||||
<java-symbol type="string" name="kg_login_submit_button" />
|
||||
<java-symbol type="string" name="kg_login_invalid_input" />
|
||||
<java-symbol type="string" name="kg_login_account_recovery_hint" />
|
||||
<java-symbol type="string" name="kg_login_checking_password" />
|
||||
<java-symbol type="string" name="kg_too_many_failed_pin_attempts_dialog_message" />
|
||||
<java-symbol type="string" name="kg_too_many_failed_pattern_attempts_dialog_message" />
|
||||
<java-symbol type="string" name="kg_too_many_failed_password_attempts_dialog_message" />
|
||||
<java-symbol type="string" name="kg_failed_attempts_almost_at_wipe" />
|
||||
<java-symbol type="string" name="kg_failed_attempts_now_wiping" />
|
||||
<java-symbol type="string" name="kg_failed_attempts_almost_at_login" />
|
||||
<java-symbol type="string" name="kg_enter_confirm_pin_hint" />
|
||||
<java-symbol type="string" name="kg_invalid_confirm_pin_hint" />
|
||||
<java-symbol type="string" name="kg_text_message_separator" />
|
||||
|
||||
<!-- From services -->
|
||||
<java-symbol type="anim" name="screen_rotate_0_enter" />
|
||||
@@ -1680,6 +1482,9 @@
|
||||
<java-symbol type="anim" name="push_down_out" />
|
||||
<java-symbol type="anim" name="push_up_in" />
|
||||
<java-symbol type="anim" name="push_up_out" />
|
||||
<java-symbol type="anim" name="lock_screen_wallpaper_behind_enter" />
|
||||
<java-symbol type="anim" name="lock_screen_behind_enter" />
|
||||
|
||||
<java-symbol type="bool" name="config_alwaysUseCdmaRssi" />
|
||||
<java-symbol type="dimen" name="status_bar_icon_size" />
|
||||
<java-symbol type="dimen" name="system_bar_icon_size" />
|
||||
|
||||
24
packages/Keyguard/Android.mk
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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.
|
||||
#
|
||||
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(call all-subdir-java-files) $(call all-subdir-Iaidl-files)
|
||||
|
||||
LOCAL_PACKAGE_NAME := Keyguard
|
||||
LOCAL_CERTIFICATE := platform
|
||||
|
||||
include $(BUILD_PACKAGE)
|
||||
61
packages/Keyguard/AndroidManifest.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2013, 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.
|
||||
*/
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.keyguard"
|
||||
android:sharedUserId="android.uid.systemui"
|
||||
coreApp="true">
|
||||
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.STATUS_BAR" />
|
||||
<uses-permission android:name="android.permission.DEVICE_POWER" />
|
||||
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
|
||||
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
|
||||
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
|
||||
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
|
||||
|
||||
<application android:label="@string/app_name" android:icon="@drawable/app_icon"
|
||||
android:process="com.android.systemui.keyguard"
|
||||
android:persistent="true" >
|
||||
|
||||
<service android:name=".KeyguardService"
|
||||
android:exported="true" />
|
||||
|
||||
<activity android:name=".KeyguardTestActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.Holo"
|
||||
android:hardwareAccelerated="true"
|
||||
android:process="com.android.keyguard.keyguard_test"
|
||||
>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
</application>
|
||||
</manifest>
|
||||
190
packages/Keyguard/NOTICE
Normal file
@@ -0,0 +1,190 @@
|
||||
|
||||
Copyright (c) 2005-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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:interpolator/decelerate_quad"
|
||||
android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||
android:duration="@*android:integer/kg_security_fade_duration" />
|
||||
android:duration="@integer/kg_security_fade_duration" />
|
||||
|
||||
|
||||
|
||||
@@ -17,5 +17,5 @@
|
||||
android:interpolator="@android:interpolator/accelerate_quad"
|
||||
android:fromAlpha="1.0"
|
||||
android:toAlpha="0.0"
|
||||
android:duration="@*android:integer/kg_security_fade_duration"
|
||||
android:duration="@integer/kg_security_fade_duration"
|
||||
/>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@interpolator/accelerate_cubic">
|
||||
android:interpolator="@android:interpolator/accelerate_cubic">
|
||||
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||
android:duration="@android:integer/config_activityDefaultDur" />
|
||||
android:duration="@integer/config_activityDefaultDur" />
|
||||
</set>
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
android:fromYScale="1.0" android:toYScale="1.10"
|
||||
android:pivotX="50%p" android:pivotY="50%p"
|
||||
android:fillEnabled="true" android:fillAfter="true"
|
||||
android:interpolator="@interpolator/accelerate_quint"
|
||||
android:interpolator="@android:interpolator/accelerate_quint"
|
||||
android:duration="@android:integer/config_shortAnimTime" />
|
||||
<alpha
|
||||
android:fromAlpha="1.0" android:toAlpha="0"
|
||||
android:fillEnabled="true" android:fillAfter="true"
|
||||
android:interpolator="@interpolator/accelerate_quad"
|
||||
android:interpolator="@android:interpolator/accelerate_quad"
|
||||
android:duration="@android:integer/config_shortAnimTime"/>
|
||||
</set>
|
||||
</set>
|
||||
|
||||
BIN
packages/Keyguard/res/drawable-hdpi/ic_media_next.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
packages/Keyguard/res/drawable-hdpi/ic_media_play.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
packages/Keyguard/res/drawable-hdpi/ic_media_previous.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 970 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
packages/Keyguard/res/drawable-ldpi/ic_media_next.png
Normal file
|
After Width: | Height: | Size: 735 B |
BIN
packages/Keyguard/res/drawable-ldpi/ic_media_play.png
Normal file
|
After Width: | Height: | Size: 673 B |
BIN
packages/Keyguard/res/drawable-ldpi/ic_media_previous.png
Normal file
|
After Width: | Height: | Size: 770 B |
BIN
packages/Keyguard/res/drawable-mdpi/ic_media_next.png
Normal file
|
After Width: | Height: | Size: 843 B |
BIN
packages/Keyguard/res/drawable-mdpi/ic_media_play.png
Normal file
|
After Width: | Height: | Size: 897 B |
BIN
packages/Keyguard/res/drawable-mdpi/ic_media_previous.png
Normal file
|
After Width: | Height: | Size: 837 B |
|
Before Width: | Height: | Size: 788 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
packages/Keyguard/res/drawable-nodpi/app_icon.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
BIN
packages/Keyguard/res/drawable-xhdpi/ic_media_next.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
packages/Keyguard/res/drawable-xhdpi/ic_media_play.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
packages/Keyguard/res/drawable-xhdpi/ic_media_previous.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_bg_default_holo_dark" />
|
||||
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_bg_disabled_holo_dark" />
|
||||
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_bg_activated_holo_dark" />
|
||||
<iten android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_bg_focused_holo_dark" />
|
||||
<item android:state_enabled="true" android:drawable="@drawable/textfield_bg_default_holo_dark" />
|
||||
<item android:state_focused="true" android:drawable="@drawable/textfield_bg_disabled_focused_holo_dark" />
|
||||
<item android:drawable="@drawable/textfield_bg_disabled_holo_dark" />
|
||||
</selector>
|
||||
|
||||
@@ -19,18 +19,19 @@
|
||||
|
||||
<!-- This is the host view that generally contains two sub views: the widget view
|
||||
and the security view. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardHostView
|
||||
<com.android.keyguard.KeyguardHostView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_host_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.MultiPaneChallengeLayout
|
||||
<com.android.keyguard.MultiPaneChallengeLayout
|
||||
android:id="@+id/multi_pane_challenge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal"
|
||||
android:clipChildren="false">
|
||||
|
||||
<include layout="@layout/keyguard_widget_remove_drop_target"
|
||||
@@ -55,13 +56,13 @@
|
||||
androidprv:layout_childType="scrim"
|
||||
android:background="#99000000" />
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSecurityContainer
|
||||
<com.android.keyguard.KeyguardSecurityContainer
|
||||
android:id="@+id/keyguard_security_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
androidprv:layout_childType="challenge"
|
||||
androidprv:layout_centerWithinArea="0.55">
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSecurityViewFlipper
|
||||
<com.android.keyguard.KeyguardSecurityViewFlipper
|
||||
android:id="@+id/view_flipper"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
@@ -72,9 +73,9 @@
|
||||
android:paddingRight="@dimen/keyguard_security_view_margin"
|
||||
android:paddingBottom="@dimen/keyguard_security_view_margin"
|
||||
android:gravity="center">
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSecurityViewFlipper>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSecurityContainer>
|
||||
</com.android.keyguard.KeyguardSecurityViewFlipper>
|
||||
</com.android.keyguard.KeyguardSecurityContainer>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.MultiPaneChallengeLayout>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
|
||||
</com.android.keyguard.MultiPaneChallengeLayout>
|
||||
</com.android.keyguard.KeyguardHostView>
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
-->
|
||||
|
||||
<!-- This is the selector widget that allows the user to select an action. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardWidgetCarousel
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
<com.android.keyguard.KeyguardWidgetCarousel
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:paddingLeft="25dp"
|
||||
android:paddingRight="25dp"
|
||||
@@ -27,4 +27,4 @@
|
||||
android:paddingBottom="25dp"
|
||||
android:clipToPadding="false"
|
||||
androidprv:pageSpacing="10dp">
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardWidgetCarousel>
|
||||
</com.android.keyguard.KeyguardWidgetCarousel>
|
||||
|
||||
@@ -19,16 +19,16 @@
|
||||
|
||||
<!-- This is the host view that generally contains two sub views: the widget view
|
||||
and the security view. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardHostView
|
||||
<com.android.keyguard.KeyguardHostView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_host_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.SlidingChallengeLayout
|
||||
<com.android.keyguard.SlidingChallengeLayout
|
||||
android:id="@+id/sliding_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
@@ -60,15 +60,15 @@
|
||||
androidprv:layout_childType="scrim"
|
||||
android:background="#99000000" />
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSecurityContainer
|
||||
<com.android.keyguard.KeyguardSecurityContainer
|
||||
android:id="@+id/keyguard_security_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_childType="challenge"
|
||||
android:padding="0dp"
|
||||
android:gravity="bottom|center_horizontal">
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSecurityViewFlipper
|
||||
<com.android.keyguard.KeyguardSecurityViewFlipper
|
||||
android:id="@+id/view_flipper"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
@@ -76,8 +76,8 @@
|
||||
android:clipToPadding="false"
|
||||
android:paddingTop="@dimen/keyguard_security_view_margin"
|
||||
android:gravity="center">
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSecurityViewFlipper>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSecurityContainer>
|
||||
</com.android.keyguard.KeyguardSecurityViewFlipper>
|
||||
</com.android.keyguard.KeyguardSecurityContainer>
|
||||
|
||||
<ImageButton
|
||||
android:layout_width="match_parent"
|
||||
@@ -89,6 +89,6 @@
|
||||
android:scaleType="center"
|
||||
android:contentDescription="@string/keyguard_accessibility_expand_lock_area" />
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.SlidingChallengeLayout>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
|
||||
</com.android.keyguard.SlidingChallengeLayout>
|
||||
</com.android.keyguard.KeyguardHostView>
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
-->
|
||||
|
||||
<!-- This is the selector widget that allows the user to select an action. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardWidgetPager
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
<com.android.keyguard.KeyguardWidgetPager
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/app_widget_container"
|
||||
android:paddingLeft="25dp"
|
||||
@@ -28,4 +28,4 @@
|
||||
android:paddingBottom="@dimen/kg_widget_pager_bottom_padding"
|
||||
android:clipToPadding="false"
|
||||
androidprv:pageSpacing="10dp">
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardWidgetPager>
|
||||
</com.android.keyguard.KeyguardWidgetPager>
|
||||
|
||||
@@ -19,15 +19,15 @@
|
||||
|
||||
<!-- This is the host view that generally contains two sub views: the widget view
|
||||
and the security view. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardHostView
|
||||
<com.android.keyguard.KeyguardHostView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_host_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.MultiPaneChallengeLayout
|
||||
<com.android.keyguard.MultiPaneChallengeLayout
|
||||
android:id="@+id/multi_pane_challenge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
@@ -57,14 +57,14 @@
|
||||
androidprv:layout_childType="scrim"
|
||||
android:background="#99000000" />
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSecurityContainer
|
||||
<com.android.keyguard.KeyguardSecurityContainer
|
||||
android:id="@+id/keyguard_security_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
androidprv:layout_centerWithinArea="0.5"
|
||||
androidprv:layout_childType="challenge"
|
||||
android:layout_gravity="center_horizontal|bottom">
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSecurityViewFlipper
|
||||
<com.android.keyguard.KeyguardSecurityViewFlipper
|
||||
android:id="@+id/view_flipper"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -75,8 +75,8 @@
|
||||
android:paddingRight="@dimen/keyguard_security_view_margin"
|
||||
android:paddingBottom="@dimen/keyguard_security_view_margin"
|
||||
android:gravity="center">
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSecurityViewFlipper>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSecurityContainer>
|
||||
</com.android.keyguard.KeyguardSecurityViewFlipper>
|
||||
</com.android.keyguard.KeyguardSecurityContainer>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.MultiPaneChallengeLayout>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
|
||||
</com.android.keyguard.MultiPaneChallengeLayout>
|
||||
</com.android.keyguard.KeyguardHostView>
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
**
|
||||
** Copyright 2009, 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<!-- This is a view that shows general status information in Keyguard. -->
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/keyguard_status_area"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="-16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/date"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="@dimen/kg_status_line_font_right_margin"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="marquee"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="@dimen/kg_status_date_font_size"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/alarm_status"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="28dp"
|
||||
android:layout_marginEnd="@dimen/kg_status_line_font_right_margin"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="marquee"
|
||||
android:textAppearance="?android:attr/textAppearance"
|
||||
android:textSize="@dimen/kg_status_line_font_size"
|
||||
android:drawablePadding="4dip"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 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.
|
||||
-->
|
||||
|
||||
<!-- *** Note *** This should mirror the file in layout/ with the exception of the background set
|
||||
here for adding a drop shadow on tablets. -->
|
||||
|
||||
<com.android.internal.widget.TransportControlView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/transport_controls"
|
||||
android:background="@drawable/transportcontrol_bg">
|
||||
|
||||
<!-- FrameLayout used as scrim to show between album art and buttons -->
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:foreground="@drawable/ic_lockscreen_player_background">
|
||||
<!-- We use ImageView for its cropping features, otherwise could be android:background -->
|
||||
<ImageView
|
||||
android:id="@+id/albumart"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill"
|
||||
android:scaleType="centerCrop"
|
||||
android:adjustViewBounds="false"
|
||||
/>
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom">
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dip"
|
||||
android:layout_marginStart="16dip"
|
||||
android:layout_marginEnd="16dip"
|
||||
android:gravity="center_horizontal"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="5dip">
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
<ImageView
|
||||
android:id="@+id/btn_prev"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_media_previous"
|
||||
android:clickable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:padding="10dip"
|
||||
android:contentDescription="@string/lockscreen_transport_prev_description"/>
|
||||
</FrameLayout>
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
<ImageView
|
||||
android:id="@+id/btn_play"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/ic_media_play"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:padding="10dip"
|
||||
android:contentDescription="@string/lockscreen_transport_play_description"/>
|
||||
</FrameLayout>
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
<ImageView
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/ic_media_next"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:padding="10dip"
|
||||
android:contentDescription="@string/lockscreen_transport_next_description"/>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</com.android.internal.widget.TransportControlView>
|
||||
@@ -16,13 +16,14 @@
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardAccountView
|
||||
<com.android.keyguard.KeyguardAccountView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_account_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/keyguard_message_area"
|
||||
@@ -84,4 +85,4 @@
|
||||
android:gravity="center_horizontal" />
|
||||
-->
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardAccountView>
|
||||
</com.android.keyguard.KeyguardAccountView>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
|
||||
<!-- This is a view that shows general status information in Keyguard. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardWidgetFrame
|
||||
<com.android.keyguard.KeyguardWidgetFrame
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/keyguard_add_widget"
|
||||
android:layout_width="match_parent"
|
||||
@@ -39,4 +39,4 @@
|
||||
android:src="@drawable/keyguard_add_widget_button"
|
||||
android:contentDescription="@string/keyguard_accessibility_add_widget"/>
|
||||
</FrameLayout>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardWidgetFrame>
|
||||
</com.android.keyguard.KeyguardWidgetFrame>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
android:layout_alignParentBottom="true"
|
||||
android:clickable="true">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.CarrierText
|
||||
<com.android.keyguard.CarrierText
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
@@ -46,12 +46,12 @@
|
||||
android:gravity="center"
|
||||
android:weightSum="2">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.EmergencyButton
|
||||
<com.android.keyguard.EmergencyButton
|
||||
android:id="@+id/emergency_call_button"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:drawableLeft="@*android:drawable/lockscreen_emergency_button"
|
||||
android:drawableLeft="@drawable/lockscreen_emergency_button"
|
||||
android:text="@string/kg_emergency_call_label"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
@@ -63,7 +63,7 @@
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:drawableLeft="@*android:drawable/lockscreen_forgot_password_button"
|
||||
android:drawableLeft="@drawable/lockscreen_forgot_password_button"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:textSize="@dimen/kg_status_line_font_size"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
|
||||
@@ -18,14 +18,15 @@
|
||||
-->
|
||||
|
||||
<!-- This is the screen that allows the user to unlock by showing their face. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardFaceUnlockView
|
||||
<com.android.keyguard.KeyguardFaceUnlockView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_face_unlock_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:contentDescription="@string/keyguard_accessibility_face_unlock">
|
||||
|
||||
<include layout="@layout/keyguard_message_area"
|
||||
@@ -35,7 +36,7 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/keyguard_bouncer_frame"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"
|
||||
android:background="@drawable/kg_bouncer_bg_white"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
@@ -45,14 +46,14 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@*android:drawable/intro_bg"
|
||||
android:background="@drawable/intro_bg"
|
||||
android:gravity="center">
|
||||
|
||||
<View
|
||||
android:id="@+id/spotlightMask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@*android:color/facelock_spotlight_mask"
|
||||
android:background="@color/facelock_spotlight_mask"
|
||||
/>
|
||||
|
||||
<ImageButton
|
||||
@@ -63,7 +64,7 @@
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="#00000000"
|
||||
android:src="@*android:drawable/ic_facial_backup"
|
||||
android:src="@drawable/ic_facial_backup"
|
||||
/>
|
||||
</com.android.internal.widget.FaceUnlockView>
|
||||
</FrameLayout>
|
||||
@@ -75,4 +76,4 @@
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:gravity="center_horizontal" />
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardFaceUnlockView>
|
||||
</com.android.keyguard.KeyguardFaceUnlockView>
|
||||
|
||||
@@ -22,5 +22,5 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:layout_marginBottom="-60dp"/>
|
||||
android:layout_marginBottom="-80dp"/>
|
||||
</merge>
|
||||
@@ -31,16 +31,16 @@
|
||||
|
||||
prvandroid:targetDrawables="@array/lockscreen_targets_unlock_only"
|
||||
prvandroid:targetDescriptions="@array/lockscreen_target_descriptions_unlock_only"
|
||||
prvandroid:directionDescriptions="@*android:array/lockscreen_direction_descriptions"
|
||||
prvandroid:handleDrawable="@*android:drawable/ic_lockscreen_handle"
|
||||
prvandroid:outerRingDrawable="@*android:drawable/ic_lockscreen_outerring"
|
||||
prvandroid:outerRadius="@*android:dimen/glowpadview_target_placement_radius"
|
||||
prvandroid:innerRadius="@*android:dimen/glowpadview_inner_radius"
|
||||
prvandroid:snapMargin="@*android:dimen/glowpadview_snap_margin"
|
||||
prvandroid:directionDescriptions="@array/lockscreen_direction_descriptions"
|
||||
prvandroid:handleDrawable="@drawable/ic_lockscreen_handle"
|
||||
prvandroid:outerRingDrawable="@drawable/ic_lockscreen_outerring"
|
||||
prvandroid:outerRadius="@dimen/glowpadview_target_placement_radius"
|
||||
prvandroid:innerRadius="@dimen/glowpadview_inner_radius"
|
||||
prvandroid:snapMargin="@dimen/glowpadview_snap_margin"
|
||||
prvandroid:firstItemOffset="@integer/kg_glowpad_rotation_offset"
|
||||
prvandroid:magneticTargets="true"
|
||||
prvandroid:feedbackCount="1"
|
||||
prvandroid:vibrationDuration="20"
|
||||
prvandroid:glowRadius="@*android:dimen/glowpadview_glow_radius"
|
||||
prvandroid:pointDrawable="@*android:drawable/ic_lockscreen_glowdot"
|
||||
prvandroid:glowRadius="@dimen/glowpadview_glow_radius"
|
||||
prvandroid:pointDrawable="@drawable/ic_lockscreen_glowdot"
|
||||
prvandroid:allowScaling="true" />
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
|
||||
<!-- This contains emergency call button and carrier as shared by pin/pattern/password screens -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardMessageArea
|
||||
<com.android.keyguard.KeyguardMessageArea
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
|
||||
<!-- This contains emergency call button and carrier as shared by pin/pattern/password screens -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardMessageArea
|
||||
<com.android.keyguard.KeyguardMessageArea
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
-->
|
||||
|
||||
<!-- This is a view that shows general status information in Keyguard. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardMultiUserAvatar
|
||||
<com.android.keyguard.KeyguardMultiUserAvatar
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/keyguard_avatar_size"
|
||||
android:layout_height="@dimen/keyguard_avatar_size"
|
||||
@@ -42,4 +42,4 @@
|
||||
android:ellipsize="end"
|
||||
android:paddingLeft="2dp"
|
||||
android:paddingRight="2dp" />
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardMultiUserAvatar>
|
||||
</com.android.keyguard.KeyguardMultiUserAvatar>
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardMultiUserSelectorView
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
<com.android.keyguard.KeyguardMultiUserSelectorView
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
androidprv:layout_childType="userSwitcher"
|
||||
android:id="@+id/keyguard_user_selector"
|
||||
@@ -25,10 +25,10 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:contentDescription="@*android:string/keyguard_accessibility_user_selector"
|
||||
android:contentDescription="@string/keyguard_accessibility_user_selector"
|
||||
android:visibility="gone">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardLinearLayout
|
||||
<com.android.keyguard.KeyguardLinearLayout
|
||||
android:id="@+id/keyguard_users_grid"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -36,4 +36,4 @@
|
||||
android:layout_height="@dimen/keyguard_avatar_size"
|
||||
android:layout_gravity="center|bottom" />
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardMultiUserSelectorView>
|
||||
</com.android.keyguard.KeyguardMultiUserSelectorView>
|
||||
|
||||
@@ -16,14 +16,15 @@
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardPasswordView
|
||||
<com.android.keyguard.KeyguardPasswordView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_password_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:gravity="bottom"
|
||||
android:contentDescription="@string/keyguard_accessibility_password_unlock"
|
||||
>
|
||||
@@ -43,7 +44,7 @@
|
||||
since the backspace/IME switcher looks better inside -->
|
||||
<FrameLayout
|
||||
android:id="@+id/keyguard_bouncer_frame"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"
|
||||
android:background="@drawable/kg_bouncer_bg_white"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
>
|
||||
@@ -62,7 +63,7 @@
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@*android:dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:layout_marginStart="@dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:singleLine="true"
|
||||
android:textStyle="normal"
|
||||
android:inputType="textPassword"
|
||||
@@ -76,7 +77,7 @@
|
||||
<ImageView android:id="@+id/switch_ime_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@*android:drawable/ic_lockscreen_ime"
|
||||
android:src="@drawable/ic_lockscreen_ime"
|
||||
android:clickable="true"
|
||||
android:padding="8dip"
|
||||
android:layout_gravity="center"
|
||||
@@ -101,4 +102,4 @@
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:gravity="center_horizontal" />
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardPasswordView>
|
||||
</com.android.keyguard.KeyguardPasswordView>
|
||||
|
||||
@@ -20,14 +20,15 @@
|
||||
<!-- This is the screen that shows the 9 circle unlock widget and instructs
|
||||
the user how to unlock their device, or make an emergency call. This
|
||||
is the portrait layout. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardPatternView
|
||||
<com.android.keyguard.KeyguardPatternView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_pattern_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:gravity="center_horizontal"
|
||||
android:contentDescription="@string/keyguard_accessibility_pattern_unlock">
|
||||
|
||||
@@ -48,7 +49,7 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/keyguard_bouncer_frame"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"
|
||||
android:background="@drawable/kg_bouncer_bg_white"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
@@ -75,4 +76,4 @@
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardPatternView>
|
||||
</com.android.keyguard.KeyguardPatternView>
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
*/
|
||||
-->
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardPINView
|
||||
<com.android.keyguard.KeyguardPINView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_pin_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:orientation="vertical"
|
||||
android:contentDescription="@string/keyguard_accessibility_pin_unlock"
|
||||
>
|
||||
@@ -34,7 +34,7 @@
|
||||
/>
|
||||
<LinearLayout
|
||||
android:id="@+id/keyguard_bouncer_frame"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"
|
||||
android:background="@drawable/kg_bouncer_bg_white"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:orientation="vertical"
|
||||
@@ -53,7 +53,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="@*android:dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:layout_marginStart="@dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:singleLine="true"
|
||||
android:cursorVisible="false"
|
||||
android:background="@null"
|
||||
@@ -64,7 +64,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@*android:drawable/ic_input_delete"
|
||||
android:src="@drawable/ic_input_delete"
|
||||
android:clickable="true"
|
||||
android:paddingTop="8dip"
|
||||
android:paddingBottom="8dip"
|
||||
@@ -85,7 +85,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key1"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -94,7 +94,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="1"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key2"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -103,7 +103,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="2"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key3"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -119,7 +119,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key4"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -128,7 +128,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="4"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key5"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -137,7 +137,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="5"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key6"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -153,7 +153,7 @@
|
||||
android:orientation="horizontal"
|
||||
android:layout_weight="1"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key7"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -162,7 +162,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="7"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key8"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -171,7 +171,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="8"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key9"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -192,7 +192,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key0"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -221,4 +221,4 @@
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:gravity="center_horizontal" />
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardPINView>
|
||||
</com.android.keyguard.KeyguardPINView>
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
-->
|
||||
|
||||
<!-- This is the selector widget that allows the user to select an action. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSelectorView
|
||||
xmlns:prvandroid="http://schemas.android.com/apk/prv/res/android"
|
||||
<com.android.keyguard.KeyguardSelectorView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_selector_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="420dp"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="420dp"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:orientation="vertical"
|
||||
@@ -49,7 +49,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"/>
|
||||
android:background="@drawable/kg_bouncer_bg_white"/>
|
||||
|
||||
<include layout="@layout/keyguard_glow_pad_container" />
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
android:layout_gravity="bottom|center_horizontal" />
|
||||
</FrameLayout>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSelectorView>
|
||||
</com.android.keyguard.KeyguardSelectorView>
|
||||
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
*/
|
||||
-->
|
||||
<!-- This is the SIM PIN view that allows the user to enter a SIM PIN to unlock the device. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSimPinView
|
||||
<com.android.keyguard.KeyguardSimPinView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_sim_pin_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:gravity="center_horizontal">
|
||||
|
||||
<ImageView
|
||||
@@ -39,7 +39,7 @@
|
||||
/>
|
||||
<LinearLayout
|
||||
android:id="@+id/keyguard_bouncer_frame"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"
|
||||
android:background="@drawable/kg_bouncer_bg_white"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:orientation="vertical"
|
||||
@@ -58,7 +58,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="@*android:dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:layout_marginStart="@dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:singleLine="true"
|
||||
android:cursorVisible="false"
|
||||
android:background="@null"
|
||||
@@ -69,7 +69,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@*android:drawable/ic_input_delete"
|
||||
android:src="@drawable/ic_input_delete"
|
||||
android:clickable="true"
|
||||
android:paddingTop="8dip"
|
||||
android:paddingBottom="8dip"
|
||||
@@ -90,7 +90,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key1"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -99,7 +99,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="1"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key2"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -108,7 +108,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="2"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key3"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -124,7 +124,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key4"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -133,7 +133,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="4"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key5"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -142,7 +142,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="5"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key6"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -158,7 +158,7 @@
|
||||
android:orientation="horizontal"
|
||||
android:layout_weight="1"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key7"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -167,7 +167,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="7"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key8"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -176,7 +176,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="8"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key9"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -197,7 +197,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key0"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -227,4 +227,4 @@
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:gravity="center_horizontal" />
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSimPinView>
|
||||
</com.android.keyguard.KeyguardSimPinView>
|
||||
|
||||
@@ -18,15 +18,15 @@
|
||||
-->
|
||||
<!-- This is the SIM PUK view that allows the user to recover their device by entering the
|
||||
carrier-provided PUK code and entering a new SIM PIN for it. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardSimPukView
|
||||
<com.android.keyguard.KeyguardSimPukView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_sim_puk_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:gravity="center_horizontal">
|
||||
|
||||
<ImageView
|
||||
@@ -40,7 +40,7 @@
|
||||
/>
|
||||
<LinearLayout
|
||||
android:id="@+id/keyguard_bouncer_frame"
|
||||
android:background="@*android:drawable/kg_bouncer_bg_white"
|
||||
android:background="@drawable/kg_bouncer_bg_white"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:orientation="vertical"
|
||||
@@ -59,7 +59,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="@*android:dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:layout_marginStart="@dimen/keyguard_lockscreen_pin_margin_left"
|
||||
android:singleLine="true"
|
||||
android:cursorVisible="false"
|
||||
android:background="@null"
|
||||
@@ -70,7 +70,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@*android:drawable/ic_input_delete"
|
||||
android:src="@drawable/ic_input_delete"
|
||||
android:clickable="true"
|
||||
android:paddingTop="8dip"
|
||||
android:paddingBottom="8dip"
|
||||
@@ -91,7 +91,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key1"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -100,7 +100,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="1"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key2"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -109,7 +109,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="2"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key3"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -125,7 +125,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key4"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -134,7 +134,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="4"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key5"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -143,7 +143,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="5"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key6"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -159,7 +159,7 @@
|
||||
android:orientation="horizontal"
|
||||
android:layout_weight="1"
|
||||
>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key7"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -168,7 +168,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="7"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key8"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -177,7 +177,7 @@
|
||||
androidprv:textView="@+id/pinEntry"
|
||||
androidprv:digit="8"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key9"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -198,7 +198,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
/>
|
||||
<view class="com.android.internal.policy.impl.keyguard.NumPadKey"
|
||||
<view class="com.android.keyguard.NumPadKey"
|
||||
android:id="@+id/key0"
|
||||
style="@style/Widget.Button.NumPadKey"
|
||||
android:layout_width="0px"
|
||||
@@ -227,4 +227,4 @@
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:gravity="center_horizontal" />
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardSimPukView>
|
||||
</com.android.keyguard.KeyguardSimPukView>
|
||||
|
||||
@@ -18,29 +18,30 @@
|
||||
-->
|
||||
|
||||
<!-- This is a view that shows general status information in Keyguard. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardWidgetFrame
|
||||
<com.android.keyguard.KeyguardWidgetFrame
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"
|
||||
android:id="@+id/keyguard_status_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
android:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
androidprv:layout_maxWidth="@dimen/keyguard_security_width"
|
||||
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
|
||||
android:gravity="center_horizontal">
|
||||
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardStatusView
|
||||
<com.android.keyguard.KeyguardStatusView
|
||||
android:id="@+id/keyguard_status_view_face_palm"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_horizontal|top"
|
||||
android:contentDescription="@android:string/keyguard_accessibility_status">
|
||||
android:contentDescription="@string/keyguard_accessibility_status">
|
||||
|
||||
<LinearLayout android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal|top"
|
||||
android:orientation="vertical"
|
||||
android:focusable="true">
|
||||
<com.android.internal.policy.impl.keyguard.ClockView
|
||||
<com.android.keyguard.ClockView
|
||||
android:id="@+id/clock_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -58,10 +59,10 @@
|
||||
android:drawablePadding="2dip"
|
||||
/>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.ClockView>
|
||||
</com.android.keyguard.ClockView>
|
||||
|
||||
<include layout="@layout/keyguard_status_area" />
|
||||
</LinearLayout>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardStatusView>
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardWidgetFrame>
|
||||
</com.android.keyguard.KeyguardStatusView>
|
||||
</com.android.keyguard.KeyguardWidgetFrame>
|
||||
|
||||
47
packages/Keyguard/res/layout/keyguard_test_activity.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
**
|
||||
** Copyright 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center">
|
||||
|
||||
<Button android:id="@+id/do_keyguard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/do_keyguard" />
|
||||
|
||||
<Button android:id="@+id/on_screen_turned_off"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/on_screen_turned_off" />
|
||||
|
||||
<Button android:id="@+id/on_screen_turned_on"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/on_screen_turned_on" />
|
||||
|
||||
<Button android:id="@+id/verify_unlock"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/verify_unlock" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -15,7 +15,7 @@
|
||||
-->
|
||||
|
||||
<!-- This is a view to control music playback in keyguard. -->
|
||||
<com.android.internal.policy.impl.keyguard.KeyguardTransportControlView
|
||||
<com.android.keyguard.KeyguardTransportControlView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -26,8 +26,8 @@
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:foreground="@*android:drawable/ic_lockscreen_player_background"
|
||||
android:contentDescription="@*android:string/keygaurd_accessibility_media_controls">
|
||||
android:foreground="@drawable/ic_lockscreen_player_background"
|
||||
android:contentDescription="@string/keygaurd_accessibility_media_controls">
|
||||
<!-- Use ImageView for its cropping features; otherwise could be android:background -->
|
||||
<ImageView
|
||||
android:id="@+id/albumart"
|
||||
@@ -70,11 +70,11 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@*android:drawable/ic_media_previous"
|
||||
android:src="@drawable/ic_media_previous"
|
||||
android:clickable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:padding="10dip"
|
||||
android:contentDescription="@*android:string/lockscreen_transport_prev_description"/>
|
||||
android:contentDescription="@string/keyguard_accessibility_transport_prev_description"/>
|
||||
</FrameLayout>
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
@@ -86,10 +86,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:clickable="true"
|
||||
android:src="@*android:drawable/ic_media_play"
|
||||
android:src="@drawable/ic_media_play"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:padding="10dip"
|
||||
android:contentDescription="@*android:string/lockscreen_transport_play_description"/>
|
||||
android:contentDescription="@string/keyguard_accessibility_transport_play_description"/>
|
||||
</FrameLayout>
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
@@ -101,12 +101,12 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:clickable="true"
|
||||
android:src="@*android:drawable/ic_media_next"
|
||||
android:src="@drawable/ic_media_next"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:padding="10dip"
|
||||
android:contentDescription="@*android:string/lockscreen_transport_next_description"/>
|
||||
android:contentDescription="@string/keyguard_accessibility_transport_next_description"/>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</com.android.internal.policy.impl.keyguard.KeyguardTransportControlView>
|
||||
</com.android.keyguard.KeyguardTransportControlView>
|
||||
|
||||
17
packages/Keyguard/res/menu/optionmenu.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/none_menu_item"
|
||||
android:title="@string/none_menu_item" />
|
||||
<item android:id="@+id/pin_menu_item"
|
||||
android:title="@string/pin_menu_item" />
|
||||
<item android:id="@+id/password_menu_item"
|
||||
android:title="@string/password_menu_item" />
|
||||
<item android:id="@+id/pattern_menu_item"
|
||||
android:title="@string/pattern_menu_item" />
|
||||
<item android:id="@+id/sim_pin_menu_item"
|
||||
android:title="@string/sim_pin_menu_item" />
|
||||
<item android:id="@+id/sim_puk_menu_item"
|
||||
android:title="@string/sim_puk_menu_item" />
|
||||
<item android:id="@+id/add_widget_item"
|
||||
android:title="@string/add_widget_item" />
|
||||
</menu>
|
||||
@@ -19,5 +19,5 @@
|
||||
-->
|
||||
<resources>
|
||||
<!-- Alias used to reference one of two possible layouts in keyguard. -->
|
||||
<item type="layout" name="keyguard_eca">@android:layout/keyguard_emergency_carrier_area</item>
|
||||
<item type="layout" name="keyguard_eca">@layout/keyguard_emergency_carrier_area_empty</item>
|
||||
</resources>
|
||||
72
packages/Keyguard/res/values-land/arrays.xml
Normal file
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/* //device/apps/common/assets/res/any/colors.xml
|
||||
**
|
||||
** Copyright 2006, 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.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
|
||||
<!-- Resources for GlowPadView in LockScreen -->
|
||||
<array name="lockscreen_targets_when_silent">
|
||||
<item>@null</item>"
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_soundon</item>
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_silent">
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_soundon</item>
|
||||
<item>@string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_direction_descriptions">
|
||||
<item>@null</item>
|
||||
<item>@string/description_direction_up</item>
|
||||
<item>@string/description_direction_left</item>
|
||||
<item>@string/description_direction_down</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_when_soundon">
|
||||
<item>@null</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_silent</item>
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_when_soundon">
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_silent</item>
|
||||
<item>@string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_targets_with_camera">
|
||||
<item>@null</item>
|
||||
<item>@drawable/ic_action_assist_generic</item>
|
||||
<item>@drawable/ic_lockscreen_camera</item>
|
||||
<item>@drawable/ic_lockscreen_unlock</item>
|
||||
</array>
|
||||
|
||||
<array name="lockscreen_target_descriptions_with_camera">
|
||||
<item>@null</item>
|
||||
<item>@string/description_target_search</item>
|
||||
<item>@string/description_target_camera</item>
|
||||
<item>@string/description_target_unlock</item>
|
||||
</array>
|
||||
|
||||
</resources>
|
||||
22
packages/Keyguard/res/values-land/bools.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<bool name="kg_enable_camera_default_widget">false</bool>
|
||||
<bool name="kg_top_align_page_shrink_on_bouncer_visible">true</bool>
|
||||
<bool name="kg_share_status_area">false</bool>
|
||||
<bool name="kg_sim_puk_account_full_screen">false</bool>
|
||||
</resources>
|
||||