Create iconloader library

Bug: 115891474
Test: Builds everything

Change-Id: I1d75702d4e5a10d694eeb839784a629de2f74dd2
This commit is contained in:
Hyunyoung Song
2018-11-01 23:12:54 -07:00
committed by Sunny Goyal
parent b1513bd811
commit 719eee2be2
19 changed files with 171 additions and 41 deletions

View File

@@ -29,23 +29,3 @@ java_library_static {
],
platform_apis: true,
}
android_library {
name: "icon-loader",
sdk_version: "28",
static_libs: [
"androidx.core_core",
],
resource_dirs: [
"res",
],
srcs: [
"src/com/android/launcher3/icons/BaseIconFactory.java",
"src/com/android/launcher3/icons/BitmapInfo.java",
"src/com/android/launcher3/icons/IconNormalizer.java",
"src/com/android/launcher3/icons/FixedScaleDrawable.java",
"src/com/android/launcher3/icons/ShadowGenerator.java",
"src/com/android/launcher3/icons/ColorExtractor.java",
],
}

View File

@@ -67,7 +67,8 @@ LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_ANDROID_LIBRARIES := \
androidx.recyclerview_recyclerview \
androidx.dynamicanimation_dynamicanimation \
androidx.preference_preference
androidx.preference_preference \
iconloader
LOCAL_STATIC_JAVA_LIBRARIES := LauncherPluginLib

View File

@@ -4,19 +4,17 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.6'
classpath GRADLE_CLASS_PATH
classpath PROTOBUF_CLASS_PATH
}
}
final String SUPPORT_LIBS_VERSION = '1.0.0-alpha1'
apply plugin: 'com.android.application'
apply plugin: 'com.google.protobuf'
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
compileSdkVersion COMPILE_SDK.toInteger()
buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion 21
@@ -120,9 +118,15 @@ repositories {
}
dependencies {
implementation "androidx.dynamicanimation:dynamicanimation:${SUPPORT_LIBS_VERSION}"
implementation "androidx.recyclerview:recyclerview:${SUPPORT_LIBS_VERSION}"
implementation 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7'
implementation "androidx.dynamicanimation:dynamicanimation:${ANDROID_X_VERSION}"
implementation "androidx.recyclerview:recyclerview:${ANDROID_X_VERSION}"
implementation "androidx.preference:preference:${ANDROID_X_VERSION}"
implementation PROTOBUF_DEPENDENCY
implementation project(':IconLoader')
// This is already included in sysui_shared
aospImplementation fileTree(dir: "libs", include: 'plugin_core.jar')
l3goImplementation fileTree(dir: "libs", include: 'plugin_core.jar')
quickstepImplementation fileTree(dir: "quickstep/libs", include: 'sysui_shared.jar')
@@ -133,7 +137,7 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.0'
androidTestImplementation 'com.android.support.test:rules:1.0.0'
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
androidTestImplementation "androidx.annotation:annotation:${SUPPORT_LIBS_VERSION}"
androidTestImplementation "androidx.annotation:annotation:${ANDROID_X_VERSION}"
}
protobuf {

13
gradle.properties Normal file
View File

@@ -0,0 +1,13 @@
# Until all the dependencies move to android X
android.useAndroidX = true
android.enableJetifier = true
ANDROID_X_VERSION=1.0.0-beta01
GRADLE_CLASS_PATH=com.android.tools.build:gradle:3.2.0-rc03
PROTOBUF_CLASS_PATH=com.google.protobuf:protobuf-gradle-plugin:0.8.6
PROTOBUF_DEPENDENCY=com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7
BUILD_TOOLS_VERSION=28.0.3
COMPILE_SDK=28

28
iconloaderlib/Android.bp Normal file
View File

@@ -0,0 +1,28 @@
// Copyright (C) 2018 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.
android_library {
name: "iconloader",
sdk_version: "28",
min_sdk_version: "21",
static_libs: [
"androidx.core_core",
],
resource_dirs: [
"res",
],
srcs: [
"src/**/*.java",
],
}

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2018 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.launcher3.icons">
</manifest>

View File

@@ -0,0 +1,50 @@
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
classpath GRADLE_CLASS_PATH
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion COMPILE_SDK.toInteger()
buildToolsVersion BUILD_TOOLS_VERSION
publishNonDefault true
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
sourceSets {
main {
java.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['res']
}
}
lintOptions {
abortOnError false
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
repositories {
mavenCentral()
google()
}
dependencies {
implementation "androidx.core:core:${ANDROID_X_VERSION}"
}

View File

@@ -21,23 +21,19 @@
<path
android:fillColor="@android:color/black"
android:fillType="evenOdd"
android:strokeWidth="1"
android:pathData="M 9 0 C 13.9705627485 0 18 4.02943725152 18 9 C 18 13.9705627485 13.9705627485 18 9 18 C 4.02943725152 18 0 13.9705627485 0 9 C 0 4.02943725152 4.02943725152 0 9 0 Z" />
<path
android:fillColor="@android:color/white"
android:fillType="evenOdd"
android:strokeWidth="1"
android:pathData="M 9 0 C 13.9705627485 0 18 4.02943725152 18 9 C 18 13.9705627485 13.9705627485 18 9 18 C 4.02943725152 18 0 13.9705627485 0 9 C 0 4.02943725152 4.02943725152 0 9 0 Z" />
<path
android:fillColor="@android:color/white"
android:fillType="evenOdd"
android:strokeWidth="1"
android:pathData="M 9 0 C 13.9705627485 0 18 4.02943725152 18 9 C 18 13.9705627485 13.9705627485 18 9 18 C 4.02943725152 18 0 13.9705627485 0 9 C 0 4.02943725152 4.02943725152 0 9 0 Z" />
<path
android:fillColor="@android:color/black"
android:fillAlpha="0.87"
android:fillType="evenOdd"
android:strokeWidth="1"
android:pathData="M 6 10.4123279 L 8.63934949 10.4123279 L 8.63934949 15.6 L 12.5577168 7.84517705 L 9.94547194 7.84517705 L 9.94547194 2 Z" />
</vector>
</vector>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2018, 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>
<color name="legacy_icon_background">#FFFFFF</color>
</resources>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2018 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>
<dimen name="profile_badge_size">24dp</dimen>
</resources>

View File

@@ -18,7 +18,7 @@ import android.os.Build;
import android.os.Process;
import android.os.UserHandle;
import com.android.launcher3.R;
import com.android.launcher3.icons.R;
import static android.graphics.Paint.DITHER_FLAG;
import static android.graphics.Paint.FILTER_BITMAP_FLAG;

View File

@@ -20,9 +20,6 @@ import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.AdaptiveIconDrawable;

View File

@@ -34,7 +34,6 @@
<color name="notification_icon_default_color">#757575</color> <!-- Gray 600 -->
<color name="icon_background">#E0E0E0</color> <!-- Gray 300 -->
<color name="legacy_icon_background">#FFFFFF</color>
<color name="all_apps_bg_hand_fill">#E5E5E5</color>
<color name="all_apps_bg_hand_fill_dark">#9AA0A6</color>

2
settings.gradle Normal file
View File

@@ -0,0 +1,2 @@
include ':IconLoader'
project(':IconLoader').projectDir = new File(rootDir, 'iconloaderlib')