diff options
Diffstat (limited to 'samples')
23 files changed, 410 insertions, 0 deletions
diff --git a/samples/viewhost/.gitignore b/samples/viewhost/.gitignore new file mode 100644 index 00000000..9c4de582 --- /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 00000000..67e82a37 --- /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 00000000..1e30cf05 --- /dev/null +++ b/samples/viewhost/AndroidManifest.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.cyanogenmod.samples.extviewhost" > + + <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="23" /> + + <application + android:allowBackup="true" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:theme="@style/AppTheme" > + <activity + android:name=".MainActivity" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> diff --git a/samples/viewhost/res/layout/activity_main.xml b/samples/viewhost/res/layout/activity_main.xml new file mode 100644 index 00000000..a21a338d --- /dev/null +++ b/samples/viewhost/res/layout/activity_main.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin"> + + <LinearLayout + android:id="@+id/root" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <cyanogenmod.externalviews.ExternalView + android:id="@+id/external_view" + android:layout_width="match_parent" + android:layout_height="200dp"/> + <View + android:layout_width="match_parent" + android:layout_height="200dp" + android:background="#FF0000"/> + <View + android:layout_width="match_parent" + android:layout_height="200dp" + android:background="#00FF00"/> + <View + android:layout_width="match_parent" + android:layout_height="200dp" + android:background="#0000FF"/> + </LinearLayout> + +</ScrollView>
\ 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 Binary files differnew file mode 100644 index 00000000..cde69bcc --- /dev/null +++ b/samples/viewhost/res/mipmap-hdpi/ic_launcher.png diff --git a/samples/viewhost/res/mipmap-mdpi/ic_launcher.png b/samples/viewhost/res/mipmap-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..c133a0cb --- /dev/null +++ b/samples/viewhost/res/mipmap-mdpi/ic_launcher.png diff --git a/samples/viewhost/res/mipmap-xhdpi/ic_launcher.png b/samples/viewhost/res/mipmap-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..bfa42f0e --- /dev/null +++ b/samples/viewhost/res/mipmap-xhdpi/ic_launcher.png diff --git a/samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png b/samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..324e72cd --- /dev/null +++ b/samples/viewhost/res/mipmap-xxhdpi/ic_launcher.png diff --git a/samples/viewhost/res/values-v21/styles.xml b/samples/viewhost/res/values-v21/styles.xml new file mode 100644 index 00000000..9712f4b5 --- /dev/null +++ b/samples/viewhost/res/values-v21/styles.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<resources> + <style name="AppTheme" parent="android:Theme.Material.Light"> + </style> +</resources> diff --git a/samples/viewhost/res/values-w820dp/dimens.xml b/samples/viewhost/res/values-w820dp/dimens.xml new file mode 100644 index 00000000..4784b6fd --- /dev/null +++ b/samples/viewhost/res/values-w820dp/dimens.xml @@ -0,0 +1,21 @@ +<!-- + 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. +--> +<resources> + <!-- Example customization of dimensions originally defined in res/values/dimens.xml + (such as screen margins) for screens with more than 820dp of available width. This + would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> + <dimen name="activity_horizontal_margin">64dp</dimen> +</resources> diff --git a/samples/viewhost/res/values/dimens.xml b/samples/viewhost/res/values/dimens.xml new file mode 100644 index 00000000..d9dcc26b --- /dev/null +++ b/samples/viewhost/res/values/dimens.xml @@ -0,0 +1,20 @@ +<!-- + 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. +--> +<resources> + <!-- Default screen margins, per the Android Design guidelines. --> + <dimen name="activity_horizontal_margin">16dp</dimen> + <dimen name="activity_vertical_margin">16dp</dimen> +</resources> diff --git a/samples/viewhost/res/values/strings.xml b/samples/viewhost/res/values/strings.xml new file mode 100644 index 00000000..4762b189 --- /dev/null +++ b/samples/viewhost/res/values/strings.xml @@ -0,0 +1,21 @@ +<!-- + 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. +--> +<resources> + <string name="app_name">ExternalViewTest</string> + + <string name="hello_world">Hello world!</string> + <string name="action_settings">Settings</string> +</resources> diff --git a/samples/viewhost/res/values/styles.xml b/samples/viewhost/res/values/styles.xml new file mode 100644 index 00000000..9531e170 --- /dev/null +++ b/samples/viewhost/res/values/styles.xml @@ -0,0 +1,23 @@ +<!-- + 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. +--> +<resources> + + <!-- Base application theme. --> + <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> + <!-- Customize your theme here. --> + </style> + +</resources> 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 00000000..0ce662e1 --- /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 00000000..dda3a6f6 --- /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 00000000..0556a03d --- /dev/null +++ b/samples/viewprovider/AndroidManifest.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.cyanogenmod.samples.extview" + android:versionCode="1" + android:versionName="1.0"> + + <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="23" /> + + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> + <uses-permission android:name="android.permission.WRITE_SETTINGS" /> + <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> + + <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> + <service android:name=".SampleProviderService" + android:exported="true"> + + </service> + </application> +</manifest> diff --git a/samples/viewprovider/res/drawable-hdpi/ic_launcher.png b/samples/viewprovider/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..96a442e5 --- /dev/null +++ b/samples/viewprovider/res/drawable-hdpi/ic_launcher.png diff --git a/samples/viewprovider/res/drawable-ldpi/ic_launcher.png b/samples/viewprovider/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..99238729 --- /dev/null +++ b/samples/viewprovider/res/drawable-ldpi/ic_launcher.png diff --git a/samples/viewprovider/res/drawable-mdpi/ic_launcher.png b/samples/viewprovider/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..359047df --- /dev/null +++ b/samples/viewprovider/res/drawable-mdpi/ic_launcher.png diff --git a/samples/viewprovider/res/drawable-xhdpi/ic_launcher.png b/samples/viewprovider/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 00000000..71c6d760 --- /dev/null +++ b/samples/viewprovider/res/drawable-xhdpi/ic_launcher.png diff --git a/samples/viewprovider/res/layout/main.xml b/samples/viewprovider/res/layout/main.xml new file mode 100644 index 00000000..c2742aaf --- /dev/null +++ b/samples/viewprovider/res/layout/main.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:gravity="center_horizontal"> + <Button + android:id="@+id/create_bluetooth_on_wifi_trigger_connect" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/bluetooth_on_wifi_trigger"/> + + <TextView + android:id="@+id/create_bt_on_wifi_status" + android:layout_width="match_parent" + android:layout_height="300dp" /> +</LinearLayout> + diff --git a/samples/viewprovider/res/values/strings.xml b/samples/viewprovider/res/values/strings.xml new file mode 100644 index 00000000..6d6780c6 --- /dev/null +++ b/samples/viewprovider/res/values/strings.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<resources> + <string name="app_name">Profiles Sample</string> + <string name="bluetooth_on_wifi_trigger">Create profile that triggers on top AP from WifiManager</string> +</resources> diff --git a/samples/viewprovider/src/org/cyanogenmod/samples/extview/SampleProviderService.java b/samples/viewprovider/src/org/cyanogenmod/samples/extview/SampleProviderService.java new file mode 100644 index 00000000..21ef2741 --- /dev/null +++ b/samples/viewprovider/src/org/cyanogenmod/samples/extview/SampleProviderService.java @@ -0,0 +1,40 @@ +/* + * 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.extview; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import cyanogenmod.externalviews.ExternalViewProviderService; + +public class SampleProviderService extends ExternalViewProviderService { + @Override + protected ExternalViewProviderService.Provider createExternalView(Bundle options) { + return new ProviderImpl(options); + } + + private class ProviderImpl extends Provider { + protected ProviderImpl(Bundle options) { + super(options); + } + + @Override + protected View onCreateView() { + return LayoutInflater.from(SampleProviderService.this).inflate(R.layout.main, null); + } + } +} |