From b9d7733a67b7790dcf19d4b52af4d60c9becb8f1 Mon Sep 17 00:00:00 2001 From: Chris Sarbora Date: Thu, 6 Aug 2015 14:14:47 -0700 Subject: External views for cm13 Initial ExternalViewProvider Change-Id: Ib35d79d3ae01d2e1a98020c5e65e4fbe50d2d322 Fill out methods and run everything on main thread Change-Id: I05dd1bce5c24057101cd85656d28b01e6681434a Fix aidl Change-Id: Ie4b9a4463fdea37a0c5d657ffbc8796d51b57303 Add sample provider Change-Id: I51b73302f85927aba2e9ea30ce47d6958af8e451 Create window and view earlier and only once Change-Id: I60264b3c2de302f6f628320f436ac2aeb39de42c visibility Change-Id: I6ed2d6431c5aec9d4959a51828c42a700aabbd22 Add logging Change-Id: I224587bcdfd1ff08673a618c5e45fef384041b8b Add external view Change-Id: Ic7f1ba96857239ac0fa43777f7d637716b7aead7 Resource fixes Change-Id: I75324900d36a465575338c8b0ec9cc568ea50b9a Add view host Change-Id: Ief57371563feca707f420a509827c78c48bedf9c Such hacks :\ Change-Id: I11ff460e7e7fed9cb14531ec3fb4699a37021ee0 Use a real window Change-Id: Ie79f8188beaa871c6b8c96303c3221cdd7352fc6 Make api able to handle multiple instances of provided views Change-Id: I185a8950aa577f920eaf7582c53f3316b88765c8 Ensure attribute set is passed to constructor Change-Id: I9ebb4e8b0f7538ea5d0e7da179b1f1df812532b1 Add clip rect support Change-Id: I23ac08b9e9e1e07e72bbf761ede1de87f4e4b084 Use final clipRect, instead of member Change-Id: I2fa5f6ff30adf30fc0fe10f9fac1869ab4c03904 --- samples/viewhost/.gitignore | 7 +++ samples/viewhost/Android.mk | 24 +++++++++++ samples/viewhost/AndroidManifest.xml | 38 ++++++++++++++++ samples/viewhost/res/layout/activity_main.xml | 48 +++++++++++++++++++++ samples/viewhost/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes samples/viewhost/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes samples/viewhost/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes samples/viewhost/res/values-v21/styles.xml | 20 +++++++++ samples/viewhost/res/values-w820dp/dimens.xml | 21 +++++++++ samples/viewhost/res/values/dimens.xml | 20 +++++++++ samples/viewhost/res/values/strings.xml | 21 +++++++++ samples/viewhost/res/values/styles.xml | 23 ++++++++++ .../samples/extviewhost/MainActivity.java | 37 ++++++++++++++++ samples/viewprovider/Android.mk | 24 +++++++++++ samples/viewprovider/AndroidManifest.xml | 34 +++++++++++++++ .../viewprovider/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 9397 bytes .../viewprovider/res/drawable-ldpi/ic_launcher.png | Bin 0 -> 2729 bytes .../viewprovider/res/drawable-mdpi/ic_launcher.png | Bin 0 -> 5237 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 14383 bytes samples/viewprovider/res/layout/main.xml | 33 ++++++++++++++ samples/viewprovider/res/values/strings.xml | 20 +++++++++ .../samples/extview/SampleProviderService.java | 40 +++++++++++++++++ 23 files changed, 410 insertions(+) create mode 100644 samples/viewhost/.gitignore create mode 100644 samples/viewhost/Android.mk create mode 100644 samples/viewhost/AndroidManifest.xml create mode 100644 samples/viewhost/res/layout/activity_main.xml create mode 100644 samples/viewhost/res/mipmap-hdpi/ic_launcher.png create mode 100644 samples/viewhost/res/mipmap-mdpi/ic_launcher.png create mode 100644 samples/viewhost/res/mipmap-xhdpi/ic_launcher.png create mode 100644 samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 samples/viewhost/res/values-v21/styles.xml create mode 100644 samples/viewhost/res/values-w820dp/dimens.xml create mode 100644 samples/viewhost/res/values/dimens.xml create mode 100644 samples/viewhost/res/values/strings.xml create mode 100644 samples/viewhost/res/values/styles.xml create mode 100644 samples/viewhost/src/org/cyanogenmod/samples/extviewhost/MainActivity.java create mode 100644 samples/viewprovider/Android.mk create mode 100644 samples/viewprovider/AndroidManifest.xml create mode 100644 samples/viewprovider/res/drawable-hdpi/ic_launcher.png create mode 100644 samples/viewprovider/res/drawable-ldpi/ic_launcher.png create mode 100644 samples/viewprovider/res/drawable-mdpi/ic_launcher.png create mode 100644 samples/viewprovider/res/drawable-xhdpi/ic_launcher.png create mode 100644 samples/viewprovider/res/layout/main.xml create mode 100644 samples/viewprovider/res/values/strings.xml create mode 100644 samples/viewprovider/src/org/cyanogenmod/samples/extview/SampleProviderService.java (limited to 'samples') diff --git a/samples/viewhost/.gitignore b/samples/viewhost/.gitignore new file mode 100644 index 0000000..9c4de58 --- /dev/null +++ b/samples/viewhost/.gitignore @@ -0,0 +1,7 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures diff --git a/samples/viewhost/Android.mk b/samples/viewhost/Android.mk new file mode 100644 index 0000000..67e82a3 --- /dev/null +++ b/samples/viewhost/Android.mk @@ -0,0 +1,24 @@ +# Copyright (C) 2015 The CyanogenMod 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. +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + org.cyanogenmod.platform.sdk + +LOCAL_SRC_FILES := $(call all-java-files-under, src/) + +LOCAL_PACKAGE_NAME := CMExternalViewHost + +include $(BUILD_PACKAGE) diff --git a/samples/viewhost/AndroidManifest.xml b/samples/viewhost/AndroidManifest.xml new file mode 100644 index 0000000..1e30cf0 --- /dev/null +++ b/samples/viewhost/AndroidManifest.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + diff --git a/samples/viewhost/res/layout/activity_main.xml b/samples/viewhost/res/layout/activity_main.xml new file mode 100644 index 0000000..a21a338 --- /dev/null +++ b/samples/viewhost/res/layout/activity_main.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/viewhost/res/mipmap-hdpi/ic_launcher.png b/samples/viewhost/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..cde69bc Binary files /dev/null and b/samples/viewhost/res/mipmap-hdpi/ic_launcher.png differ diff --git a/samples/viewhost/res/mipmap-mdpi/ic_launcher.png b/samples/viewhost/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..c133a0c Binary files /dev/null and b/samples/viewhost/res/mipmap-mdpi/ic_launcher.png differ diff --git a/samples/viewhost/res/mipmap-xhdpi/ic_launcher.png b/samples/viewhost/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..bfa42f0 Binary files /dev/null and b/samples/viewhost/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png b/samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..324e72c Binary files /dev/null and b/samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/samples/viewhost/res/values-v21/styles.xml b/samples/viewhost/res/values-v21/styles.xml new file mode 100644 index 0000000..9712f4b --- /dev/null +++ b/samples/viewhost/res/values-v21/styles.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/samples/viewhost/res/values-w820dp/dimens.xml b/samples/viewhost/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..4784b6f --- /dev/null +++ b/samples/viewhost/res/values-w820dp/dimens.xml @@ -0,0 +1,21 @@ + + + + 64dp + diff --git a/samples/viewhost/res/values/dimens.xml b/samples/viewhost/res/values/dimens.xml new file mode 100644 index 0000000..d9dcc26 --- /dev/null +++ b/samples/viewhost/res/values/dimens.xml @@ -0,0 +1,20 @@ + + + + 16dp + 16dp + diff --git a/samples/viewhost/res/values/strings.xml b/samples/viewhost/res/values/strings.xml new file mode 100644 index 0000000..4762b18 --- /dev/null +++ b/samples/viewhost/res/values/strings.xml @@ -0,0 +1,21 @@ + + + ExternalViewTest + + Hello world! + Settings + diff --git a/samples/viewhost/res/values/styles.xml b/samples/viewhost/res/values/styles.xml new file mode 100644 index 0000000..9531e17 --- /dev/null +++ b/samples/viewhost/res/values/styles.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/samples/viewhost/src/org/cyanogenmod/samples/extviewhost/MainActivity.java b/samples/viewhost/src/org/cyanogenmod/samples/extviewhost/MainActivity.java new file mode 100644 index 0000000..0ce662e --- /dev/null +++ b/samples/viewhost/src/org/cyanogenmod/samples/extviewhost/MainActivity.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2015 The CyanogenMod 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 org.cyanogenmod.samples.extviewhost; + +import android.app.Activity; +import android.content.ComponentName; +import android.os.Bundle; + +import cyanogenmod.externalviews.ExternalView; + +public class MainActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + ExternalView ev = (ExternalView) findViewById(R.id.external_view); + ComponentName cn = new ComponentName("org.cyanogenmod.samples.extview", + "org.cyanogenmod.samples.extview.SampleProviderService"); + ev.setProviderComponent(cn); + } + +} diff --git a/samples/viewprovider/Android.mk b/samples/viewprovider/Android.mk new file mode 100644 index 0000000..dda3a6f --- /dev/null +++ b/samples/viewprovider/Android.mk @@ -0,0 +1,24 @@ +# Copyright (C) 2015 The CyanogenMod 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. +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + org.cyanogenmod.platform.sdk + +LOCAL_SRC_FILES := $(call all-java-files-under, src/) + +LOCAL_PACKAGE_NAME := CMExternalViewProvider + +include $(BUILD_PACKAGE) \ No newline at end of file diff --git a/samples/viewprovider/AndroidManifest.xml b/samples/viewprovider/AndroidManifest.xml new file mode 100644 index 0000000..0556a03 --- /dev/null +++ b/samples/viewprovider/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + diff --git a/samples/viewprovider/res/drawable-hdpi/ic_launcher.png b/samples/viewprovider/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000..96a442e Binary files /dev/null and b/samples/viewprovider/res/drawable-hdpi/ic_launcher.png differ diff --git a/samples/viewprovider/res/drawable-ldpi/ic_launcher.png b/samples/viewprovider/res/drawable-ldpi/ic_launcher.png new file mode 100644 index 0000000..9923872 Binary files /dev/null and b/samples/viewprovider/res/drawable-ldpi/ic_launcher.png differ diff --git a/samples/viewprovider/res/drawable-mdpi/ic_launcher.png b/samples/viewprovider/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000..359047d Binary files /dev/null and b/samples/viewprovider/res/drawable-mdpi/ic_launcher.png differ diff --git a/samples/viewprovider/res/drawable-xhdpi/ic_launcher.png b/samples/viewprovider/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000..71c6d76 Binary files /dev/null and b/samples/viewprovider/res/drawable-xhdpi/ic_launcher.png differ diff --git a/samples/viewprovider/res/layout/main.xml b/samples/viewprovider/res/layout/main.xml new file mode 100644 index 0000000..c2742aa --- /dev/null +++ b/samples/viewprovider/res/layout/main.xml @@ -0,0 +1,33 @@ + + + +