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

Commit e307c509 authored by Wenbo Jie's avatar Wenbo Jie
Browse files

[DocsUI M3] Add compose folder to experiment compose

Add a new folder "compose" inside DocumentsUI so we can have a
isolate environment to experiment constructing Jetpack Compose
components. It's independent from the original DocumentsUI and
has its own build target. We could use this as a Compose Lab to
build component here first and then reuse it in the original
DocumentsUI.

Bug: 374224390
Test: m DocumentsUICompose
Flag: EXEMPT experiment for dev only
Change-Id: I33d61d47889e16c39aa92de082c2fdba2193461b
parent 73347e5f
Loading
Loading
Loading
Loading

compose/Android.bp

0 → 100644
+60 −0
Original line number Diff line number Diff line
// Copyright (C) 2024 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 {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

android_library {
    name: "DocumentsUIComposelib",
    manifest: "AndroidManifest.xml",

    resource_dirs: [
        "res",
    ],
    srcs: [
        "src/**/*.kt",
    ],

    static_libs: [
        "androidx.activity_activity-compose",
        "androidx.appcompat_appcompat",
        "androidx.compose.foundation_foundation",
        "androidx.compose.material3_material3",
        "androidx.compose.material3_material3-window-size-class",
        "androidx.compose.material_material-icons-extended",
        "androidx.compose.runtime_runtime",
        "androidx.compose.ui_ui",
        "androidx.core_core-ktx",
        "androidx.lifecycle_lifecycle-runtime-compose",
        "androidx.lifecycle_lifecycle-runtime-ktx",
        "modules-utils-build_system",
    ],

    sdk_version: "system_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
}

android_app {
    name: "DocumentsUICompose",
    manifest: "AndroidManifest.xml",
    static_libs: ["DocumentsUIComposelib"],

    privileged: true,
    certificate: "platform",

    sdk_version: "system_current",
    min_sdk_version: "29",
}
+58 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2024 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.
 */
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.documentsui.compose">

    <uses-sdk android:minSdkVersion="29"/>

    <!-- Permissions copied from com.android.documentsui AndroidManifest.xml -->
    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
    <uses-permission android:name="android.permission.REMOVE_TASKS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CACHE_CONTENT" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" />
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"/>
    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
    <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/>
    <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>

    <application
        android:label="@string/app_label"
        android:supportsRtl="true"
        android:allowBackup="true">

        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

compose/OWNERS

0 → 100644
+6 −0
Original line number Diff line number Diff line
# Bug component: 374224390

wenbojie@google.com
benreich@google.com
lucmult@google.com
tylersaunders@google.com

compose/README

0 → 100644
+12 −0
Original line number Diff line number Diff line
This folder is intended for Sydney Files team to experiment constructing Jetpack Compose components
for DocumentsUI.

## Build and Install

Use `brya` target as an example.

```bash
lunch brya-trunk_staging-eng
m DocumentsUICompose
adb install out/target/product/brya/system/priv-app/DocumentsUICompose/DocumentsUICompose.apk
```
 No newline at end of file
+19 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2024 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.
-->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_label">DocsUI Compose</string>
</resources>
 No newline at end of file
Loading