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
This commit is contained in:
Jim Miller
2013-01-09 18:50:26 -08:00
parent 25a272a9f6
commit 5ecd81154f
191 changed files with 3795 additions and 1619 deletions

View File

@@ -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 \

View File

@@ -198,7 +198,6 @@ public class AppWidgetHost {
* @return a appWidgetId
*/
public int allocateAppWidgetId() {
try {
if (mPackageName == null) {
mPackageName = mContext.getPackageName();

View File

@@ -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.
*/

View 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);
}

View 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();
}

View File

@@ -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;
}
}
}

View File

@@ -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"/>

View 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>

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View 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>

View 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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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" />

View 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)

View 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
View 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

View File

@@ -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" />

View File

@@ -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"
/>

View File

@@ -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>

View File

@@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 970 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 837 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -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>

View File

@@ -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>

View File

@@ -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" />

View File

@@ -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"

View File

@@ -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"

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View 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>

View File

@@ -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>

View 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>

View File

@@ -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>

View 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>

View 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>

Some files were not shown because too many files have changed in this diff Show More