Loading packages/SystemUI/res-keyguard/layout/fsi_chrome_view.xml 0 → 100644 +49 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.notification.fsi.FsiChromeView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="50dp" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:id="@+id/fsi_chrome" android:layout_height="50dp" android:orientation="horizontal"> <ImageView android:id="@+id/fsi_app_icon" android:layout_width="50dp" android:layout_height="match_parent" android:contentDescription="@null" /> <TextView android:id="@+id/fsi_app_name" android:layout_width="wrap_content" android:layout_height="match_parent" android:padding="10dp" android:textSize="22dp" android:gravity="center" android:textColor="#FFFFFF" android:text="AppName" /> <Space android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <Button android:id="@+id/fsi_fullscreen_button" android:layout_width="100dp" android:layout_height="match_parent" android:text="fullscreen" /> <Button android:id="@+id/fsi_dismiss_button" android:layout_width="100dp" android:layout_height="match_parent" android:text="dismiss" /> </LinearLayout> </com.android.systemui.statusbar.notification.fsi.FsiChromeView> No newline at end of file packages/SystemUI/res/values/dimens.xml +3 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,9 @@ <!-- Radius for notifications corners with adjacent notifications --> <dimen name="notification_corner_radius_small">4dp</dimen> <!-- Vertical padding of the FSI container --> <dimen name="fsi_chrome_vertical_padding">80dp</dimen> <!-- the padding of the shelf icon container --> <dimen name="shelf_icon_container_padding">13dp</dimen> Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/fsi/FsiChromeView.kt 0 → 100644 +83 −0 Original line number Diff line number Diff line package com.android.systemui.statusbar.notification.fsi import android.content.Context import android.graphics.Color import android.graphics.Color.DKGRAY import android.graphics.Outline import android.util.AttributeSet import android.view.View import android.view.ViewOutlineProvider import android.widget.Button import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import com.android.systemui.R import com.android.systemui.dagger.SysUISingleton import com.android.systemui.statusbar.notification.fsi.FsiDebug.Companion.log @SysUISingleton class FsiChromeView @JvmOverloads constructor( context: Context?, attrs: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0 ) : LinearLayout(context, attrs, defStyleAttr, defStyleRes) { companion object { private const val classTag = "FsiChromeView" } lateinit var chromeContainer: LinearLayout lateinit var appIconImageView: ImageView lateinit var appNameTextView: TextView lateinit var dismissButton: Button lateinit var fullscreenButton: Button private val cornerRadius: Float = resources.getDimensionPixelSize(R.dimen.notification_corner_radius).toFloat() private val vertPadding: Int = resources.getDimensionPixelSize(R.dimen.fsi_chrome_vertical_padding) private val sidePadding: Int = resources.getDimensionPixelSize(R.dimen.notification_side_paddings) init { log("$classTag init") } override fun onFinishInflate() { log("$classTag onFinishInflate") super.onFinishInflate() setBackgroundColor(Color.TRANSPARENT) setPadding( sidePadding, vertPadding, sidePadding, vertPadding ) // Make smaller than fullscreen. chromeContainer = findViewById(R.id.fsi_chrome) chromeContainer.setBackgroundColor(DKGRAY) appIconImageView = findViewById(R.id.fsi_app_icon) appNameTextView = findViewById(R.id.fsi_app_name) dismissButton = findViewById(R.id.fsi_dismiss_button) fullscreenButton = findViewById(R.id.fsi_fullscreen_button) outlineProvider = object : ViewOutlineProvider() { override fun getOutline(view: View, outline: Outline) { outline.setRoundRect( /* left */ sidePadding, /* top */ vertPadding, /* right */ view.width - sidePadding, /* bottom */ view.height - vertPadding, cornerRadius ) } } clipToOutline = true } } Loading
packages/SystemUI/res-keyguard/layout/fsi_chrome_view.xml 0 → 100644 +49 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <com.android.systemui.statusbar.notification.fsi.FsiChromeView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="50dp" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:id="@+id/fsi_chrome" android:layout_height="50dp" android:orientation="horizontal"> <ImageView android:id="@+id/fsi_app_icon" android:layout_width="50dp" android:layout_height="match_parent" android:contentDescription="@null" /> <TextView android:id="@+id/fsi_app_name" android:layout_width="wrap_content" android:layout_height="match_parent" android:padding="10dp" android:textSize="22dp" android:gravity="center" android:textColor="#FFFFFF" android:text="AppName" /> <Space android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <Button android:id="@+id/fsi_fullscreen_button" android:layout_width="100dp" android:layout_height="match_parent" android:text="fullscreen" /> <Button android:id="@+id/fsi_dismiss_button" android:layout_width="100dp" android:layout_height="match_parent" android:text="dismiss" /> </LinearLayout> </com.android.systemui.statusbar.notification.fsi.FsiChromeView> No newline at end of file
packages/SystemUI/res/values/dimens.xml +3 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,9 @@ <!-- Radius for notifications corners with adjacent notifications --> <dimen name="notification_corner_radius_small">4dp</dimen> <!-- Vertical padding of the FSI container --> <dimen name="fsi_chrome_vertical_padding">80dp</dimen> <!-- the padding of the shelf icon container --> <dimen name="shelf_icon_container_padding">13dp</dimen> Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/fsi/FsiChromeView.kt 0 → 100644 +83 −0 Original line number Diff line number Diff line package com.android.systemui.statusbar.notification.fsi import android.content.Context import android.graphics.Color import android.graphics.Color.DKGRAY import android.graphics.Outline import android.util.AttributeSet import android.view.View import android.view.ViewOutlineProvider import android.widget.Button import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import com.android.systemui.R import com.android.systemui.dagger.SysUISingleton import com.android.systemui.statusbar.notification.fsi.FsiDebug.Companion.log @SysUISingleton class FsiChromeView @JvmOverloads constructor( context: Context?, attrs: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0 ) : LinearLayout(context, attrs, defStyleAttr, defStyleRes) { companion object { private const val classTag = "FsiChromeView" } lateinit var chromeContainer: LinearLayout lateinit var appIconImageView: ImageView lateinit var appNameTextView: TextView lateinit var dismissButton: Button lateinit var fullscreenButton: Button private val cornerRadius: Float = resources.getDimensionPixelSize(R.dimen.notification_corner_radius).toFloat() private val vertPadding: Int = resources.getDimensionPixelSize(R.dimen.fsi_chrome_vertical_padding) private val sidePadding: Int = resources.getDimensionPixelSize(R.dimen.notification_side_paddings) init { log("$classTag init") } override fun onFinishInflate() { log("$classTag onFinishInflate") super.onFinishInflate() setBackgroundColor(Color.TRANSPARENT) setPadding( sidePadding, vertPadding, sidePadding, vertPadding ) // Make smaller than fullscreen. chromeContainer = findViewById(R.id.fsi_chrome) chromeContainer.setBackgroundColor(DKGRAY) appIconImageView = findViewById(R.id.fsi_app_icon) appNameTextView = findViewById(R.id.fsi_app_name) dismissButton = findViewById(R.id.fsi_dismiss_button) fullscreenButton = findViewById(R.id.fsi_fullscreen_button) outlineProvider = object : ViewOutlineProvider() { override fun getOutline(view: View, outline: Outline) { outline.setRoundRect( /* left */ sidePadding, /* top */ vertPadding, /* right */ view.width - sidePadding, /* bottom */ view.height - vertPadding, cornerRadius ) } } clipToOutline = true } }