summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk50
-rw-r--r--build.gradle36
-rw-r--r--quickstep/AndroidManifest.xml43
-rw-r--r--quickstep/res/values/strings.xml23
-rw-r--r--quickstep/src/com/android/quickstep/TouchInteractionService.java31
-rw-r--r--quickstep/src_flags/com/android/launcher3/config/FeatureFlags.java32
-rw-r--r--src/com/android/launcher3/LauncherState.java4
-rw-r--r--src/com/android/launcher3/config/BaseFlags.java7
8 files changed, 207 insertions, 19 deletions
diff --git a/Android.mk b/Android.mk
index 4cc5e4239..1e4083560 100644
--- a/Android.mk
+++ b/Android.mk
@@ -112,22 +112,58 @@ LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.*
include $(BUILD_PACKAGE)
#
-# Launcher proto buffer jar used for development
+# Build rule for Quickstep app.
#
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-proto-files-under, protos) $(call all-proto-files-under, proto_overrides)
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android-support-v4 \
+ android-support-v7-recyclerview \
+ android-support-dynamic-animation
+
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, src) \
+ $(call all-java-files-under, src_config) \
+ $(call all-java-files-under, quickstep/src) \
+ $(call all-java-files-under, quickstep/src_flags) \
+ $(call all-proto-files-under, protos) \
+ $(call all-proto-files-under, proto_overrides)
+
+LOCAL_RESOURCE_DIR := \
+ $(LOCAL_PATH)/quickstep/res \
+ $(LOCAL_PATH)/res \
+ prebuilts/sdk/current/support/v7/recyclerview/res \
+
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/ --proto_path=$(LOCAL_PATH)/proto_overrides/
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := enum_style=java
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := launcher_proto_lib
-LOCAL_IS_HOST_MODULE := true
-LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-nano
+LOCAL_AAPT_FLAGS := \
+ --auto-add-overlay \
+ --extra-packages android.support.v7.recyclerview \
+
+LOCAL_SDK_VERSION := current
+LOCAL_MIN_SDK_VERSION := 21
+LOCAL_PACKAGE_NAME := Launcher3QuickStep
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3
+
+LOCAL_FULL_LIBS_MANIFEST_FILES := \
+ $(LOCAL_PATH)/AndroidManifest.xml \
+ $(LOCAL_PATH)/AndroidManifest-common.xml
+
+LOCAL_MANIFEST_FILE := quickstep/AndroidManifest.xml
+
+LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.*
+
+include $(BUILD_PACKAGE)
+
+
-include $(BUILD_HOST_JAVA_LIBRARY)
# ==================================================
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/build.gradle b/build.gradle
index a1b3a6037..9b0989c92 100644
--- a/build.gradle
+++ b/build.gradle
@@ -40,7 +40,20 @@ android {
applicationId 'com.android.launcher3'
testApplicationId 'com.android.launcher3.tests'
}
+
+ quickstep {
+ applicationId 'com.android.launcher3'
+ testApplicationId 'com.android.launcher3.tests'
+ }
}
+
+ // Disable release builds for now
+ android.variantFilter { variant ->
+ if (variant.buildType.name.endsWith('release')) {
+ variant.setIgnore(true);
+ }
+ }
+
sourceSets {
main {
res.srcDirs = ['res']
@@ -52,31 +65,34 @@ android {
}
}
+ debug {
+ manifest.srcFile "AndroidManifest.xml"
+ }
+
androidTest {
res.srcDirs = ['tests/res']
java.srcDirs = ['tests/src']
manifest.srcFile "tests/AndroidManifest-common.xml"
}
- aosp {
- java.srcDirs = ['src_flags']
- manifest.srcFile "AndroidManifest.xml"
+ androidTestDebug {
+ manifest.srcFile "tests/AndroidManifest.xml"
}
- aospAndroidTest {
- manifest.srcFile "tests/AndroidManifest.xml"
+ aosp {
+ java.srcDirs = ['src_flags']
}
l3go {
res.srcDirs = ['go/res']
java.srcDirs = ['go/src_flags']
- // Note: we are using the Launcher3 manifest here because the gradle manifest-merger uses
- // different attributes than the build system.
- manifest.srcFile "AndroidManifest.xml"
+ manifest.srcFile "go/AndroidManifest.xml"
}
- l3goAndroidTest {
- manifest.srcFile "tests/AndroidManifest.xml"
+ quickstep {
+ res.srcDirs = ['quickstep/res']
+ java.srcDirs = ['quickstep/src_flags', 'quickstep/src']
+ manifest.srcFile "quickstep/AndroidManifest.xml"
}
}
}
diff --git a/quickstep/AndroidManifest.xml b/quickstep/AndroidManifest.xml
new file mode 100644
index 000000000..eb05864a0
--- /dev/null
+++ b/quickstep/AndroidManifest.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2017, 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" >
+
+ <uses-sdk android:targetSdkVersion="23" android:minSdkVersion="21"/>
+
+ <application
+ android:backupAgent="com.android.launcher3.LauncherBackupAgent"
+ android:fullBackupOnly="true"
+ android:fullBackupContent="@xml/backupscheme"
+ android:hardwareAccelerated="true"
+ android:icon="@drawable/ic_launcher_home"
+ android:label="@string/derived_app_name"
+ android:theme="@style/LauncherTheme"
+ android:largeHeap="@bool/config_largeHeap"
+ android:restoreAnyVersion="true"
+ android:supportsRtl="true" >
+
+ <service android:name="com.android.quickstep.TouchInteractionService"
+ android:exported="false" />
+
+ </application>
+
+</manifest>
diff --git a/quickstep/res/values/strings.xml b/quickstep/res/values/strings.xml
new file mode 100644
index 000000000..ef612268f
--- /dev/null
+++ b/quickstep/res/values/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+* Copyright (C) 2017 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>
+
+ <!-- Application name -->
+ <string name="derived_app_name" translatable="false">Quickstep</string>
+</resources> \ No newline at end of file
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
new file mode 100644
index 000000000..091ab5498
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2017 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 com.android.quickstep;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * Service connected by system-UI for handling touch interaction.
+ */
+public class TouchInteractionService extends Service {
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ return null;
+ }
+}
diff --git a/quickstep/src_flags/com/android/launcher3/config/FeatureFlags.java b/quickstep/src_flags/com/android/launcher3/config/FeatureFlags.java
new file mode 100644
index 000000000..1edf592b9
--- /dev/null
+++ b/quickstep/src_flags/com/android/launcher3/config/FeatureFlags.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2017 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 com.android.launcher3.config;
+
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.states.OverviewState;
+
+/**
+ * Defines a set of flags used to control various launcher behaviors
+ */
+public final class FeatureFlags extends BaseFlags {
+
+ private FeatureFlags() {}
+
+ public static LauncherState createOverviewState(int id) {
+ return new OverviewState(id);
+ }
+}
diff --git a/src/com/android/launcher3/LauncherState.java b/src/com/android/launcher3/LauncherState.java
index de3f441c2..661ba1141 100644
--- a/src/com/android/launcher3/LauncherState.java
+++ b/src/com/android/launcher3/LauncherState.java
@@ -21,8 +21,8 @@ import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CH
import android.view.View;
+import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.states.AllAppsState;
-import com.android.launcher3.states.OverviewState;
import com.android.launcher3.states.SpringLoadedState;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
@@ -50,7 +50,7 @@ public class LauncherState {
public static final LauncherState SPRING_LOADED = new SpringLoadedState(2);
- public static final LauncherState OVERVIEW = new OverviewState(3);
+ public static final LauncherState OVERVIEW = FeatureFlags.createOverviewState(3);
public final int ordinal;
diff --git a/src/com/android/launcher3/config/BaseFlags.java b/src/com/android/launcher3/config/BaseFlags.java
index f01923f7d..4fbab390e 100644
--- a/src/com/android/launcher3/config/BaseFlags.java
+++ b/src/com/android/launcher3/config/BaseFlags.java
@@ -16,6 +16,9 @@
package com.android.launcher3.config;
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.states.OverviewState;
+
/**
* Defines a set of flags used to control various launcher behaviors.
*
@@ -58,4 +61,8 @@ abstract class BaseFlags {
// Features to control Launcher3Go behavior
public static final boolean GO_DISABLE_WIDGETS = false;
+
+ public static LauncherState createOverviewState(int id) {
+ return new OverviewState(id);
+ }
}