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

Commit 1626922f authored by Johannes Gallmann's avatar Johannes Gallmann
Browse files

Implement MotionTool Library using ViewCapture library

Bug: 255929005
Test: atest frameworks/libs/systemui/motiontoollib/tests/com/android/app/motiontool
Change-Id: Ie5a847124cfe99831e7ea8f2e9b99eacbe905760
parent 34b07545
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
*.iml
.project
.classpath
.project.properties
gen/
bin/
.idea/
.gradle/
local.properties
gradle/
build/
gradlew*
.DS_Store
+80 −0
Original line number Diff line number Diff line
// Copyright (C) 2022 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"],
}

java_library {
    name: "motion_tool_proto",
    srcs: ["src/com/android/app/motiontool/proto/*.proto"],
    proto: {
        type: "nano",
        local_include_dirs:[
            "src/com/android/app/motiontool/proto"
        ],
        include_dirs: [
            "frameworks/libs/systemui/viewcapturelib/src/com/android/app/viewcapture/proto"
        ],
    },
    static_libs: [
        "libprotobuf-java-nano",
        "view_capture_proto",
    ],
    java_version: "1.8",
}

android_library {
    name: "motion_tool_lib",
    manifest: "AndroidManifest.xml",
    platform_apis: true,
    min_sdk_version: "26",

    static_libs: [
        "androidx.core_core",
        "view_capture",
        "motion_tool_proto",
    ],

    srcs: [
        "src/**/*.java",
        "src/**/*.kt"
    ],
}

android_test {
    name: "motion_tool_lib_tests",
    manifest: "tests/AndroidManifest.xml",
    platform_apis: true,
    min_sdk_version: "26",

    static_libs: [
        "androidx.core_core",
        "view_capture",
        "motion_tool_proto",
        "androidx.test.ext.junit",
        "androidx.test.rules",
        "testables"
    ],
    srcs: [
        "**/*.java",
        "**/*.kt"
    ],
    libs: [
        "android.test.runner",
        "android.test.base",
    ],
    test_suites: ["device-tests"],
}
+20 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2022 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.app.motiontool">
</manifest>
+15 −0
Original line number Diff line number Diff line
{
  "presubmit": [
    {
      "name": "motion_tool_lib_tests",
      "options": [
        {
          "exclude-annotation": "org.junit.Ignore"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    }
  ]
}
+64 −0
Original line number Diff line number Diff line
plugins {
    id 'sysuigradleproject.android-library-conventions'
    id 'org.jetbrains.kotlin.android'
    id 'com.google.protobuf'
}

final String PROTOS_DIR = "${ANDROID_TOP}/frameworks/libs/systemui/motiontoollib/src/com/android/app/motiontool/proto"

android {
    compileSdk TARGET_SDK.toInteger()
    buildToolsVersion = BUILD_TOOLS_VERSION

    defaultConfig {
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    defaultConfig {
        minSdkVersion TARGET_SDK.toInteger()
        targetSdkVersion TARGET_SDK.toInteger()
    }

    sourceSets {
        main {
            java.srcDirs = ['src']
            manifest.srcFile 'AndroidManifest.xml'
            proto.srcDirs = ["${PROTOS_DIR}"]
        }
        androidTest {
            java.srcDirs = ["tests"]
            manifest.srcFile "tests/AndroidManifest.xml"
        }
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    implementation "androidx.core:core:1.9.0"
    implementation PROTOBUF_DEPENDENCY
    api project(":ViewCaptureLib")
    androidTestImplementation project(':SharedTestLib')
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation "androidx.test:rules:1.4.0"

}

protobuf {
    // Configure the protoc executable
    protoc {
        artifact = "com.google.protobuf:protoc:3.0.0${PROTO_ARCH_SUFFIX}"
        generateProtoTasks {
            all().each { task ->
                task.builtins {
                    remove java
                    javanano {
                        option "enum_style=c"
                    }
                }
            }
        }
    }
}
Loading