Messaging: Use ActivityResultContracts for media and contacts
Instead of handling showing and picking the media ourselves, use existing AcitivityResultContracts to pick images, videos or contacts Change-Id: I20079ad94882cc6bbfeae8d57ca0e4aa30612c01
This commit is contained in:
@@ -1,103 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015 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.
|
||||
-->
|
||||
<com.android.messaging.ui.mediapicker.GalleryGridItemView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/gallery_image_cell_size"
|
||||
android:background="@color/gallery_image_default_background"
|
||||
android:clickable="true">
|
||||
|
||||
<!-- Thumbnail for image and video contents. -->
|
||||
<com.android.messaging.ui.AsyncImageView
|
||||
android:id="@+id/thumbnail"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<!-- Additional info such as icon, name and etc. -->
|
||||
<RelativeLayout
|
||||
android:id="@+id/additional_info"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone" >
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/file_info" >
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="@dimen/gallery_icon_size"
|
||||
android:layout_height="@dimen/gallery_icon_size"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="fitCenter"
|
||||
android:background="@color/background_item_transparent"
|
||||
android:visibility="gone" />
|
||||
</FrameLayout>
|
||||
|
||||
<!-- File info for audio contents only -->
|
||||
<LinearLayout
|
||||
android:id="@+id/file_info"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/file_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:textAppearance="@android:style/TextAppearance.Material.Subhead" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/file_type"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:gravity="right"
|
||||
android:textAppearance="@android:style/TextAppearance.Material.Caption" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:focusableInTouchMode="true"
|
||||
android:background="@drawable/gallery_image_background_selector" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/checkbox"
|
||||
style="@style/GalleryGridItemViewCheckBoxStyle"
|
||||
android:button="@drawable/gallery_checkbox_selector"
|
||||
android:background="@null"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top|end"
|
||||
android:paddingTop="4dp"
|
||||
android:visibility="gone"
|
||||
android:contentDescription="@string/gallery_checkbox_content_description" />
|
||||
|
||||
</com.android.messaging.ui.mediapicker.GalleryGridItemView>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015 The Android Open Source Project
|
||||
Copyright (C) 2024 The LineageOS Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -15,30 +16,36 @@
|
||||
limitations under the License.
|
||||
-->
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/white">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/mediapicker_enabled"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<com.android.messaging.ui.mediapicker.GalleryGridView
|
||||
android:id="@+id/gallery_grid_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="6dp"
|
||||
android:columnWidth="@dimen/gallery_image_cell_size"
|
||||
android:numColumns="auto_fit"
|
||||
android:verticalSpacing="6dp"
|
||||
android:horizontalSpacing="6dp"
|
||||
android:stretchMode="columnWidth"
|
||||
android:gravity="center"
|
||||
android:clipToPadding="false"
|
||||
android:background="@android:color/white" />
|
||||
<!-- This view will hide all other views if the required permission is not granted -->
|
||||
<TextView
|
||||
android:id="@+id/missing_permission_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/enable_permission_procedure"
|
||||
android:contentDescription="@string/enable_permission_procedure_description"
|
||||
android:background="@android:color/white"
|
||||
android:gravity="center"
|
||||
android:visibility="gone" />
|
||||
</FrameLayout>
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
<TextView
|
||||
style="@style/ContactPickerHintText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top|center"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/mediapicker_galleryChooserDescription"
|
||||
android:importantForAccessibility="no" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_image_light"
|
||||
android:scaleX="1.33"
|
||||
android:scaleY="1.33"
|
||||
app:tint="@color/primary_color"
|
||||
android:importantForAccessibility="no"
|
||||
android:contentDescription="@null" />
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015 The Android Open Source Project
|
||||
Copyright (C) 2024 The LineageOS 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.
|
||||
-->
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:appcompat="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools" >
|
||||
|
||||
<item
|
||||
android:id="@+id/action_multiselect"
|
||||
android:icon="@drawable/ic_checkbox_outline_light"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/action_multiselect"
|
||||
appcompat:showAsAction="always"/>
|
||||
|
||||
<item
|
||||
android:id="@+id/action_confirm_multiselect"
|
||||
android:icon="@drawable/ic_checkmark_light"
|
||||
android:orderInCategory="101"
|
||||
android:title="@string/action_confirm_multiselect"
|
||||
appcompat:showAsAction="always"/>
|
||||
</menu>
|
||||
Reference in New Issue
Block a user