diff --git a/packages/Keyguard/res/drawable-hdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-hdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..381902933dcbc Binary files /dev/null and b/packages/Keyguard/res/drawable-hdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-hdpi/ic_lockscreen_alarm.png b/packages/Keyguard/res/drawable-hdpi/ic_lockscreen_alarm.png deleted file mode 100644 index d7a8cfcba3c35..0000000000000 Binary files a/packages/Keyguard/res/drawable-hdpi/ic_lockscreen_alarm.png and /dev/null differ diff --git a/packages/Keyguard/res/drawable-mdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-mdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..2aeedafbc5ee9 Binary files /dev/null and b/packages/Keyguard/res/drawable-mdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-mdpi/ic_lockscreen_alarm.png b/packages/Keyguard/res/drawable-mdpi/ic_lockscreen_alarm.png deleted file mode 100644 index 330ade15fb78d..0000000000000 Binary files a/packages/Keyguard/res/drawable-mdpi/ic_lockscreen_alarm.png and /dev/null differ diff --git a/packages/Keyguard/res/drawable-sw600dp-hdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-sw600dp-hdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..e28b3f63367e1 Binary files /dev/null and b/packages/Keyguard/res/drawable-sw600dp-hdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-sw600dp-mdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-sw600dp-mdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..f727d010696c8 Binary files /dev/null and b/packages/Keyguard/res/drawable-sw600dp-mdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-sw600dp-xhdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-sw600dp-xhdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..d9c06234b820d Binary files /dev/null and b/packages/Keyguard/res/drawable-sw600dp-xhdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-sw600dp-xxhdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-sw600dp-xxhdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..a36bf1f2a0aee Binary files /dev/null and b/packages/Keyguard/res/drawable-sw600dp-xxhdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-xhdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-xhdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..0290bdc1a94c6 Binary files /dev/null and b/packages/Keyguard/res/drawable-xhdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/drawable-xhdpi/ic_lockscreen_alarm.png b/packages/Keyguard/res/drawable-xhdpi/ic_lockscreen_alarm.png deleted file mode 100644 index e6cceefe6a5bf..0000000000000 Binary files a/packages/Keyguard/res/drawable-xhdpi/ic_lockscreen_alarm.png and /dev/null differ diff --git a/packages/Keyguard/res/drawable-xxhdpi/ic_alarm_small.png b/packages/Keyguard/res/drawable-xxhdpi/ic_alarm_small.png new file mode 100644 index 0000000000000..66968e8e8cd59 Binary files /dev/null and b/packages/Keyguard/res/drawable-xxhdpi/ic_alarm_small.png differ diff --git a/packages/Keyguard/res/layout-land/keyguard_status_area.xml b/packages/Keyguard/res/layout-land/keyguard_status_area.xml deleted file mode 100644 index d450c5c6e83cf..0000000000000 --- a/packages/Keyguard/res/layout-land/keyguard_status_area.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/packages/Keyguard/res/layout-port/keyguard_status_area.xml b/packages/Keyguard/res/layout-port/keyguard_status_area.xml deleted file mode 100644 index af0d2e8f03047..0000000000000 --- a/packages/Keyguard/res/layout-port/keyguard_status_area.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - diff --git a/packages/Keyguard/res/layout/keyguard_status_area.xml b/packages/Keyguard/res/layout/keyguard_status_area.xml new file mode 100644 index 0000000000000..d1f387375668f --- /dev/null +++ b/packages/Keyguard/res/layout/keyguard_status_area.xml @@ -0,0 +1,50 @@ + + + + + + + + diff --git a/packages/Keyguard/res/layout/keyguard_status_view.xml b/packages/Keyguard/res/layout/keyguard_status_view.xml index 2304d9f33bc88..5857fc24ea097 100644 --- a/packages/Keyguard/res/layout/keyguard_status_view.xml +++ b/packages/Keyguard/res/layout/keyguard_status_view.xml @@ -35,34 +35,26 @@ android:layout_height="match_parent" android:gravity="center_horizontal|top" android:contentDescription="@string/keyguard_accessibility_status"> - - - + - - - - + android:layout_gravity="center_horizontal|top" + android:textColor="@color/clock_white" + android:singleLine="true" + style="@style/widget_big_thin" + android:format12Hour="@string/keyguard_widget_12_hours_format" + android:format24Hour="@string/keyguard_widget_24_hours_format" + android:baselineAligned="true" + android:layout_marginBottom="@dimen/bottom_text_spacing_digital" /> - diff --git a/packages/Keyguard/res/layout/keyguard_widget_remove_drop_target.xml b/packages/Keyguard/res/layout/keyguard_widget_remove_drop_target.xml index 294c3862612d8..58b5b271d5d9a 100644 --- a/packages/Keyguard/res/layout/keyguard_widget_remove_drop_target.xml +++ b/packages/Keyguard/res/layout/keyguard_widget_remove_drop_target.xml @@ -26,7 +26,7 @@ android:drawablePadding="4dp" android:text="@string/kg_reordering_delete_drop_target_text" android:textColor="#FFF" - android:textSize="13sp" + android:textSize="12dp" android:shadowColor="#000" android:shadowDy="1.0" android:shadowRadius="1.0" diff --git a/packages/Keyguard/res/values-land/dimens.xml b/packages/Keyguard/res/values-land/dimens.xml index 64e043cfb93f9..bf30332f1ef5b 100644 --- a/packages/Keyguard/res/values-land/dimens.xml +++ b/packages/Keyguard/res/values-land/dimens.xml @@ -19,17 +19,6 @@ --> - - 47dip - - 50dip - - 2dip - 72dp - - - 70sp - 30dp diff --git a/packages/Keyguard/res/values-large/dimens.xml b/packages/Keyguard/res/values-large/dimens.xml index 8cd614dfe4c98..0b5d4ad6ba7b1 100644 --- a/packages/Keyguard/res/values-large/dimens.xml +++ b/packages/Keyguard/res/values-large/dimens.xml @@ -17,13 +17,6 @@ */ --> - - 75dip - - 75dip - - 48.0mm - 192dip diff --git a/packages/Keyguard/res/values-sw600dp/dimens.xml b/packages/Keyguard/res/values-sw600dp/dimens.xml index c0e3937d474fc..f8a13626f4633 100644 --- a/packages/Keyguard/res/values-sw600dp/dimens.xml +++ b/packages/Keyguard/res/values-sw600dp/dimens.xml @@ -18,9 +18,6 @@ */ --> - - 112sp - 364dp @@ -37,9 +34,6 @@ 141dp - - 25.5dp - 16sp @@ -68,4 +62,8 @@ 12dp + + 16dp + 141dp + diff --git a/packages/Keyguard/res/values-sw720dp/dimens.xml b/packages/Keyguard/res/values-sw720dp/dimens.xml index b29ac2299f8dd..0790b79220594 100644 --- a/packages/Keyguard/res/values-sw720dp/dimens.xml +++ b/packages/Keyguard/res/values-sw720dp/dimens.xml @@ -21,9 +21,6 @@ 188dp - - 34dp - 19sp diff --git a/packages/Keyguard/res/values-xlarge/dimens.xml b/packages/Keyguard/res/values-xlarge/dimens.xml deleted file mode 100644 index b8cf287848ed2..0000000000000 --- a/packages/Keyguard/res/values-xlarge/dimens.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - 75dip - - 75dip - - 48.0mm - diff --git a/packages/Keyguard/res/values/alias.xml b/packages/Keyguard/res/values/alias.xml index c96439181b2ab..b22311e78a9f6 100644 --- a/packages/Keyguard/res/values/alias.xml +++ b/packages/Keyguard/res/values/alias.xml @@ -34,9 +34,6 @@ @*android:drawable/ic_contact_picture - - @*android:drawable/ic_lock_idle_alarm - @*android:string/ok @@ -52,4 +49,4 @@ @*android:integer/config_activityDefaultDur - \ No newline at end of file + diff --git a/packages/Keyguard/res/values/colors.xml b/packages/Keyguard/res/values/colors.xml index 0c56a43301ca3..a9e80616bc436 100644 --- a/packages/Keyguard/res/values/colors.xml +++ b/packages/Keyguard/res/values/colors.xml @@ -23,4 +23,8 @@ #CC000000 + + + #ffffffff + #80ffffff diff --git a/packages/Keyguard/res/values/dimens.xml b/packages/Keyguard/res/values/dimens.xml index ce72f43cd7102..8039b09b3f09c 100644 --- a/packages/Keyguard/res/values/dimens.xml +++ b/packages/Keyguard/res/values/dimens.xml @@ -18,17 +18,6 @@ */ --> - - 56dip - - 56dip - - 4dip - - 3dip - - 9dip - 270dp @@ -47,9 +36,6 @@ 15dip - - 80dip - 14dip @@ -84,11 +70,8 @@ 75dp - - 15dp - - 13dp + 12dp 16dp @@ -166,5 +149,12 @@ used on tablets; on phones, this size is determined by the space left by the security mode. --> 160dp + + + -8dp + 14dp + 12dp + 80dp + 120dp diff --git a/packages/Keyguard/res/values/donottranslate.xml b/packages/Keyguard/res/values/donottranslate.xml new file mode 100644 index 0000000000000..71d3ed7d5ff9c --- /dev/null +++ b/packages/Keyguard/res/values/donottranslate.xml @@ -0,0 +1,22 @@ + + + + + + EEE, MMMM d + + EEEE, MMMM d + diff --git a/packages/Keyguard/res/values/strings.xml b/packages/Keyguard/res/values/strings.xml index 89e72409f8b41..65322e3b584fc 100644 --- a/packages/Keyguard/res/values/strings.xml +++ b/packages/Keyguard/res/values/strings.xml @@ -94,6 +94,10 @@ progress dialog in the meantime. this is the emssage. --> Unlocking SIM card\u2026 + + h:mm + + kk:mm %1$s. Widget %2$d of %3$d. diff --git a/packages/Keyguard/res/values/styles.xml b/packages/Keyguard/res/values/styles.xml index a31f708601d49..44f560fe2c875 100644 --- a/packages/Keyguard/res/values/styles.xml +++ b/packages/Keyguard/res/values/styles.xml @@ -52,5 +52,20 @@ @anim/lock_screen_enter @anim/lock_screen_exit + + + + + diff --git a/packages/Keyguard/src/com/android/keyguard/ClockView.java b/packages/Keyguard/src/com/android/keyguard/ClockView.java deleted file mode 100644 index ad85e9a450b76..0000000000000 --- a/packages/Keyguard/src/com/android/keyguard/ClockView.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.keyguard; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.database.ContentObserver; -import android.graphics.Typeface; -import android.os.Handler; -import android.os.UserHandle; -import android.provider.Settings; -import android.text.format.DateFormat; -import android.util.AttributeSet; -import android.view.View; -import android.widget.RelativeLayout; -import android.widget.TextView; - -import java.lang.ref.WeakReference; -import java.text.DateFormatSymbols; -import java.util.Calendar; - -/** - * Displays the time - */ -public class ClockView extends RelativeLayout { - private static final String ANDROID_CLOCK_FONT_FILE = "/system/fonts/AndroidClock.ttf"; - private final static String M12 = "h:mm"; - private final static String M24 = "HH:mm"; - - private Calendar mCalendar; - private String mFormat; - private TextView mTimeView; - private AmPm mAmPm; - private ContentObserver mFormatChangeObserver; - private int mAttached = 0; // for debugging - tells us whether attach/detach is unbalanced - - /* called by system on minute ticks */ - private final Handler mHandler = new Handler(); - private BroadcastReceiver mIntentReceiver; - - private static class TimeChangedReceiver extends BroadcastReceiver { - private WeakReference mClock; - private Context mContext; - - public TimeChangedReceiver(ClockView clock) { - mClock = new WeakReference(clock); - mContext = clock.getContext(); - } - - @Override - public void onReceive(Context context, Intent intent) { - // Post a runnable to avoid blocking the broadcast. - final boolean timezoneChanged = - intent.getAction().equals(Intent.ACTION_TIMEZONE_CHANGED); - final ClockView clock = mClock.get(); - if (clock != null) { - clock.mHandler.post(new Runnable() { - public void run() { - if (timezoneChanged) { - clock.mCalendar = Calendar.getInstance(); - } - clock.updateTime(); - } - }); - } else { - try { - mContext.unregisterReceiver(this); - } catch (RuntimeException e) { - // Shouldn't happen - } - } - } - }; - - static class AmPm { - private TextView mAmPmTextView; - private String mAmString, mPmString; - - AmPm(View parent, Typeface tf) { - // No longer used, uncomment if we decide to use AM/PM indicator again - // mAmPmTextView = (TextView) parent.findViewById(R.id.am_pm); - if (mAmPmTextView != null && tf != null) { - mAmPmTextView.setTypeface(tf); - } - - String[] ampm = new DateFormatSymbols().getAmPmStrings(); - mAmString = ampm[0]; - mPmString = ampm[1]; - } - - void setShowAmPm(boolean show) { - if (mAmPmTextView != null) { - mAmPmTextView.setVisibility(show ? View.VISIBLE : View.GONE); - } - } - - void setIsMorning(boolean isMorning) { - if (mAmPmTextView != null) { - mAmPmTextView.setText(isMorning ? mAmString : mPmString); - } - } - } - - private static class FormatChangeObserver extends ContentObserver { - private WeakReference mClock; - private Context mContext; - public FormatChangeObserver(ClockView clock) { - super(new Handler()); - mClock = new WeakReference(clock); - mContext = clock.getContext(); - } - @Override - public void onChange(boolean selfChange) { - ClockView digitalClock = mClock.get(); - if (digitalClock != null) { - digitalClock.setDateFormat(); - digitalClock.updateTime(); - } else { - try { - mContext.getContentResolver().unregisterContentObserver(this); - } catch (RuntimeException e) { - // Shouldn't happen - } - } - } - } - - public ClockView(Context context) { - this(context, null); - } - - public ClockView(Context context, AttributeSet attrs) { - super(context, attrs); - } - - @Override - protected void onFinishInflate() { - super.onFinishInflate(); - mTimeView = (TextView) findViewById(R.id.clock_text); - mTimeView.setTypeface(Typeface.createFromFile(ANDROID_CLOCK_FONT_FILE)); - mAmPm = new AmPm(this, null); - mCalendar = Calendar.getInstance(); - setDateFormat(); - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - - mAttached++; - - /* monitor time ticks, time changed, timezone */ - if (mIntentReceiver == null) { - mIntentReceiver = new TimeChangedReceiver(this); - IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_TIME_TICK); - filter.addAction(Intent.ACTION_TIME_CHANGED); - filter.addAction(Intent.ACTION_TIMEZONE_CHANGED); - mContext.registerReceiverAsUser(mIntentReceiver, UserHandle.OWNER, filter, null, null ); - } - - /* monitor 12/24-hour display preference */ - if (mFormatChangeObserver == null) { - mFormatChangeObserver = new FormatChangeObserver(this); - mContext.getContentResolver().registerContentObserver( - Settings.System.CONTENT_URI, true, mFormatChangeObserver); - } - - updateTime(); - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - - mAttached--; - - if (mIntentReceiver != null) { - mContext.unregisterReceiver(mIntentReceiver); - } - if (mFormatChangeObserver != null) { - mContext.getContentResolver().unregisterContentObserver( - mFormatChangeObserver); - } - - mFormatChangeObserver = null; - mIntentReceiver = null; - } - - void updateTime(Calendar c) { - mCalendar = c; - updateTime(); - } - - public void updateTime() { - mCalendar.setTimeInMillis(System.currentTimeMillis()); - - CharSequence newTime = DateFormat.format(mFormat, mCalendar); - mTimeView.setText(newTime); - mAmPm.setIsMorning(mCalendar.get(Calendar.AM_PM) == 0); - } - - private void setDateFormat() { - mFormat = android.text.format.DateFormat.is24HourFormat(getContext()) ? M24 : M12; - mAmPm.setShowAmPm(mFormat.equals(M12)); - } -} diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java index 0289a1f4d1d2c..ffb619bda4dac 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java @@ -38,17 +38,9 @@ public class KeyguardStatusView extends GridLayout { private static final boolean DEBUG = KeyguardViewMediator.DEBUG; private static final String TAG = "KeyguardStatusView"; - public static final int LOCK_ICON = 0; // R.drawable.ic_lock_idle_lock; - public static final int ALARM_ICON = R.drawable.ic_lock_idle_alarm; - public static final int CHARGING_ICON = 0; //R.drawable.ic_lock_idle_charging; - public static final int BATTERY_LOW_ICON = 0; //R.drawable.ic_lock_idle_low_battery; - - private SimpleDateFormat mDateFormat; private LockPatternUtils mLockPatternUtils; - private TextView mDateView; private TextView mAlarmStatusView; - private ClockView mClockView; private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() { @@ -81,21 +73,12 @@ public class KeyguardStatusView extends GridLayout { @Override protected void onFinishInflate() { super.onFinishInflate(); - Resources res = getContext().getResources(); - final Locale locale = Locale.getDefault(); - final String datePattern = res.getString(R.string.system_ui_date_pattern); - final String bestFormat = ICU.getBestDateTimePattern(datePattern, locale.toString()); - mDateFormat = new SimpleDateFormat(bestFormat, locale); - mDateView = (TextView) findViewById(R.id.date); + mAlarmStatusView = (TextView) findViewById(R.id.alarm_status); - mClockView = (ClockView) findViewById(R.id.clock_view); mLockPatternUtils = new LockPatternUtils(getContext()); - // Use custom font in mDateView - mDateView.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD); - // Required to get Marquee to work. - final View marqueeViews[] = { mDateView, mAlarmStatusView }; + final View marqueeViews[] = { mAlarmStatusView }; for (int i = 0; i < marqueeViews.length; i++) { View v = marqueeViews[i]; if (v == null) { @@ -107,8 +90,6 @@ public class KeyguardStatusView extends GridLayout { } protected void refresh() { - mClockView.updateTime(); - refreshDate(); refreshAlarmStatus(); // might as well } @@ -117,17 +98,12 @@ public class KeyguardStatusView extends GridLayout { String nextAlarm = mLockPatternUtils.getNextAlarm(); if (!TextUtils.isEmpty(nextAlarm)) { mAlarmStatusView.setText(nextAlarm); - mAlarmStatusView.setCompoundDrawablesWithIntrinsicBounds(ALARM_ICON, 0, 0, 0); mAlarmStatusView.setVisibility(View.VISIBLE); } else { mAlarmStatusView.setVisibility(View.GONE); } } - void refreshDate() { - mDateView.setText(mDateFormat.format(new Date())); - } - @Override protected void onAttachedToWindow() { super.onAttachedToWindow();