Merge "Fix NPE when casting" into pi-dev am: 9115d371c3
am: 40ee4178f4
Change-Id: I348116fdb5e6ebe5f9c72c53643d4a0d38bafe6f
This commit is contained in:
@@ -20,39 +20,54 @@
|
||||
<!-- This is a view that shows general status information in Keyguard. -->
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/presentation"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<!-- This is mostly keyguard_status_view.xml with minor modifications -->
|
||||
<com.android.keyguard.KeyguardStatusView
|
||||
android:id="@+id/clock"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="410dp"
|
||||
android:layout_height="wrap_content">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal|top"
|
||||
android:orientation="vertical"
|
||||
android:focusable="true">
|
||||
<TextClock
|
||||
android:id="@+id/clock_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<RelativeLayout
|
||||
android:id="@+id/keyguard_clock_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal|top"
|
||||
android:textColor="?attr/wallpaperTextColor"
|
||||
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" />
|
||||
|
||||
<include layout="@layout/keyguard_status_area" />
|
||||
android:layout_gravity="center_horizontal|top">
|
||||
<TextClock
|
||||
android:id="@+id/clock_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:letterSpacing="0.03"
|
||||
android:textColor="?attr/wallpaperTextColor"
|
||||
android:singleLine="true"
|
||||
style="@style/widget_big_thin"
|
||||
android:format12Hour="@string/keyguard_widget_12_hours_format"
|
||||
android:format24Hour="@string/keyguard_widget_24_hours_format" />
|
||||
<View
|
||||
android:id="@+id/clock_separator"
|
||||
android:layout_width="@dimen/widget_separator_width"
|
||||
android:layout_height="@dimen/widget_separator_thickness"
|
||||
android:layout_below="@id/clock_view"
|
||||
android:background="#f00"
|
||||
android:layout_centerHorizontal="true" />
|
||||
<include layout="@layout/keyguard_status_area"
|
||||
android:id="@+id/keyguard_status_area"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/clock_separator" />
|
||||
</RelativeLayout>
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dip"
|
||||
android:layout_marginTop="@dimen/widget_vertical_padding"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/kg_security_lock_normal" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -164,7 +164,9 @@ public class KeyguardStatusView extends GridLayout implements
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
mLogoutView = findViewById(R.id.logout);
|
||||
mLogoutView.setOnClickListener(this::onLogoutClicked);
|
||||
if (mLogoutView != null) {
|
||||
mLogoutView.setOnClickListener(this::onLogoutClicked);
|
||||
}
|
||||
|
||||
mClockView = findViewById(R.id.clock_view);
|
||||
mClockView.setShowCurrentUserTime(true);
|
||||
@@ -296,6 +298,9 @@ public class KeyguardStatusView extends GridLayout implements
|
||||
}
|
||||
|
||||
public int getLogoutButtonHeight() {
|
||||
if (mLogoutView == null) {
|
||||
return 0;
|
||||
}
|
||||
return mLogoutView.getVisibility() == VISIBLE ? mLogoutView.getHeight() : 0;
|
||||
}
|
||||
|
||||
@@ -304,6 +309,9 @@ public class KeyguardStatusView extends GridLayout implements
|
||||
}
|
||||
|
||||
private void updateLogoutView() {
|
||||
if (mLogoutView == null) {
|
||||
return;
|
||||
}
|
||||
mLogoutView.setVisibility(shouldShowLogout() ? VISIBLE : GONE);
|
||||
// Logout button will stay in language of user 0 if we don't set that manually.
|
||||
mLogoutView.setText(mContext.getResources().getString(
|
||||
@@ -390,7 +398,9 @@ public class KeyguardStatusView extends GridLayout implements
|
||||
|
||||
private void updateDark() {
|
||||
boolean dark = mDarkAmount == 1;
|
||||
mLogoutView.setAlpha(dark ? 0 : 1);
|
||||
if (mLogoutView != null) {
|
||||
mLogoutView.setAlpha(dark ? 0 : 1);
|
||||
}
|
||||
if (mOwnerInfo != null) {
|
||||
boolean hasText = !TextUtils.isEmpty(mOwnerInfo.getText());
|
||||
mOwnerInfo.setVisibility(hasText && mDarkAmount != 1 ? VISIBLE : GONE);
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (C) 2018 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.phone;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
import android.testing.TestableLooper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
@TestableLooper.RunWithLooper(setAsMainLooper = true)
|
||||
public class KeyguardPresentationTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void testInflation_doesntCrash() {
|
||||
LayoutInflater inflater = LayoutInflater.from(getContext());
|
||||
inflater.inflate(R.layout.keyguard_presentation, null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user