diff options
| -rw-r--r-- | packages/SystemUI/res/layout/split_clock_view.xml | 54 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/SplitClockView.java | 145 |
2 files changed, 0 insertions, 199 deletions
diff --git a/packages/SystemUI/res/layout/split_clock_view.xml b/packages/SystemUI/res/layout/split_clock_view.xml deleted file mode 100644 index 8198f0333a94..000000000000 --- a/packages/SystemUI/res/layout/split_clock_view.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> - -<!-- Extends LinearLayout --> -<com.android.systemui.statusbar.policy.SplitClockView - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - > - <TextClock - android:id="@+id/time_view" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:singleLine="true" - android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" - android:textSize="@dimen/qs_time_collapsed_size" - android:textColor="?android:attr/textColorPrimary" - /> - <TextClock - android:id="@+id/am_pm_view" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:singleLine="true" - android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" - android:textSize="@dimen/qs_time_collapsed_size" - android:textColor="?android:attr/textColorPrimary" - android:importantForAccessibility="no" - /> - - <!-- Empty text view so we have the same height when expanded/collapsed--> - <TextView - android:id="@+id/empty_time_view" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" - android:singleLine="true" - android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" - android:textColor="?android:attr/textColorPrimary" - /> -</com.android.systemui.statusbar.policy.SplitClockView> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SplitClockView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SplitClockView.java deleted file mode 100644 index 0d36b48e9099..000000000000 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SplitClockView.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2014 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.systemui.statusbar.policy; - -import android.app.ActivityManager; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.os.UserHandle; -import android.text.format.DateFormat; -import android.util.AttributeSet; -import android.widget.LinearLayout; -import android.widget.TextClock; - -import com.android.systemui.res.R; - -/** - * Container for a clock which has two separate views for the clock itself and AM/PM indicator. This - * is used to scale the clock independently of AM/PM. - */ -public class SplitClockView extends LinearLayout { - - private TextClock mTimeView; - private TextClock mAmPmView; - - private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - final String action = intent.getAction(); - if (Intent.ACTION_TIME_CHANGED.equals(action) - || Intent.ACTION_TIMEZONE_CHANGED.equals(action) - || Intent.ACTION_LOCALE_CHANGED.equals(action) - || Intent.ACTION_CONFIGURATION_CHANGED.equals(action) - || Intent.ACTION_USER_SWITCHED.equals(action)) { - updatePatterns(); - } - } - }; - - public SplitClockView(Context context, AttributeSet attrs) { - super(context, attrs); - } - - @Override - protected void onFinishInflate() { - super.onFinishInflate(); - mTimeView = findViewById(R.id.time_view); - mAmPmView = findViewById(R.id.am_pm_view); - mTimeView.setShowCurrentUserTime(true); - mAmPmView.setShowCurrentUserTime(true); - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - - IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_TIME_CHANGED); - filter.addAction(Intent.ACTION_TIMEZONE_CHANGED); - filter.addAction(Intent.ACTION_LOCALE_CHANGED); - filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED); - filter.addAction(Intent.ACTION_USER_SWITCHED); - getContext().registerReceiverAsUser(mIntentReceiver, UserHandle.ALL, filter, null, null); - - updatePatterns(); - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - getContext().unregisterReceiver(mIntentReceiver); - } - - private void updatePatterns() { - String formatString = DateFormat.getTimeFormatString(getContext(), - ActivityManager.getCurrentUser()); - int index = getAmPmPartEndIndex(formatString); - String timeString; - String amPmString; - if (index == -1) { - timeString = formatString; - amPmString = ""; - } else { - timeString = formatString.substring(0, index); - amPmString = formatString.substring(index); - } - mTimeView.setFormat12Hour(timeString); - mTimeView.setFormat24Hour(timeString); - mTimeView.setContentDescriptionFormat12Hour(formatString); - mTimeView.setContentDescriptionFormat24Hour(formatString); - mAmPmView.setFormat12Hour(amPmString); - mAmPmView.setFormat24Hour(amPmString); - } - - /** - * @return the index where the AM/PM part starts at the end in {@code formatString} including - * leading white spaces or {@code -1} if no AM/PM part is found or {@code formatString} - * doesn't end with AM/PM part - */ - private static int getAmPmPartEndIndex(String formatString) { - boolean hasAmPm = false; - int length = formatString.length(); - for (int i = length - 1; i >= 0; i--) { - char c = formatString.charAt(i); - boolean isAmPm = c == 'a'; - boolean isWhitespace = Character.isWhitespace(c); - if (isAmPm) { - hasAmPm = true; - } - if (isAmPm || isWhitespace) { - continue; - } - if (i == length - 1) { - - // First character was not AM/PM and not whitespace, so it's not ending with AM/PM. - return -1; - } else { - - // If we have AM/PM at all, return last index, or -1 to indicate that it's not - // ending with AM/PM. - return hasAmPm ? i + 1 : -1; - } - } - - // Only AM/PM and whitespaces? The whole string is AM/PM. Else: Only whitespaces in the - // string. - return hasAmPm ? 0 : -1; - } - -} |