Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc78c847 authored by Matt Pietal's avatar Matt Pietal
Browse files

Controls UI - Support detail panels

Allow apps to specify whether to show full screen or within detail
panels. Default camers and thermostats to use the panel by default
when the following flag is enabled.

Enable by:
adb shell settings put secure systemui.controls_use_panel 1

Change offset from the top in Px:
adb shell settings put secure systemui.controls_panel_top_offset XXX

Bug: 152528130
Test: manual, use camera, thermostat devices

Change-Id: Ia1b12afcf4de2a0bcf7957e6425b282b1e220f46
parent 0081f253
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2020 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="@*android:anim/accelerate_decelerate_interpolator"
     android:zAdjustment="top">

    <translate android:fromYDelta="100%"
               android:toYDelta="0"
               android:startOffset="@android:integer/config_shortAnimTime"
               android:duration="@*android:integer/config_mediumAnimTime"/>
</set>
+25 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2020 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="@*android:anim/accelerate_interpolator"
     android:zAdjustment="top">

    <translate xmlns:android="http://schemas.android.com/apk/res/android"
               android:fromYDelta="0"
               android:toYDelta="100%"
               android:duration="@*android:integer/config_shortAnimTime" />
</set>
+22 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2020 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="rectangle">
    <solid android:color="?android:attr/colorPrimaryDark" />
    <corners
        android:topLeftRadius="?android:attr/dialogCornerRadius"
        android:topRightRadius="?android:attr/dialogCornerRadius" />
</shape>
+70 −3
Original line number Diff line number Diff line
@@ -15,9 +15,76 @@
     limitations under the License.
-->

<FrameLayout
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/control_detail_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="@dimen/controls_activity_view_top_offset"
    android:orientation="vertical">
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginBottom="10dp">
    <ImageView
        android:id="@+id/control_detail_close"
        android:contentDescription="@string/accessibility_desc_close"
        android:src="@drawable/ic_close"
        android:background="?android:attr/selectableItemBackgroundBorderless"
        android:tint="@color/control_primary_text"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:padding="12dp" />
    <Space
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="1dp" />
    <ImageView
        android:id="@+id/control_detail_open_in_app"
        android:src="@drawable/ic_open_in_new"
        android:background="?android:attr/selectableItemBackgroundBorderless"
        android:tint="@color/control_primary_text"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:padding="12dp" />
  </LinearLayout>

  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:paddingTop="@dimen/controls_activity_view_top_padding"
      android:paddingLeft="@dimen/controls_activity_view_side_padding"
      android:paddingRight="@dimen/controls_activity_view_side_padding"
      android:background="@drawable/rounded_bg_top"
      android:orientation="vertical">
    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="@style/TextAppearance.ControlDialog"
        android:clickable="false"
        android:focusable="false"
        android:maxLines="1"
        android:ellipsize="end" />
    <TextView
        android:id="@+id/subtitle"
        android:layout_marginTop="6dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="@style/TextAppearance.ControlDialog"
        android:clickable="false"
        android:focusable="false"
        android:maxLines="1"
        android:ellipsize="end" />

    <FrameLayout
        android:id="@+id/controls_activity_view"
        android:layout_width="match_parent"
    android:layout_height="match_parent" />
        android:layout_height="0dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1" />

  </LinearLayout>
</LinearLayout>
+6 −0
Original line number Diff line number Diff line
@@ -1250,6 +1250,12 @@
    <dimen name="control_base_item_margin">2dp</dimen>
    <dimen name="control_status_padding">3dp</dimen>

    <!-- Home Controls activity view detail panel-->
    <dimen name="controls_activity_view_top_padding">25dp</dimen>
    <dimen name="controls_activity_view_side_padding">12dp</dimen>
    <dimen name="controls_activity_view_top_offset">200dp</dimen>
    <dimen name="controls_activity_view_text_size">17sp</dimen>

    <!-- Home Controls management screens -->
    <dimen name="controls_management_top_padding">48dp</dimen>
    <dimen name="controls_management_side_padding">8dp</dimen>
Loading