diff options
author | Diogo Ferreira <defer@cyngn.com> | 2016-08-27 19:51:34 +0100 |
---|---|---|
committer | Diogo Ferreira <defer@cyngn.com> | 2016-08-27 19:51:34 +0100 |
commit | df5e2ce95bc64e515b52f8b748edfe4445a8fa9d (patch) | |
tree | 5213af5806b7ecec84befd27d6aaecdf72d556ee | |
parent | 6ed67b2e600169010776823f8b6edbe39304d662 (diff) | |
parent | c7fb0790d0503ffd902d720cfe9b44acf7f2a5bb (diff) | |
download | android_device_google_atv-staging/cm-14.0.tar.gz android_device_google_atv-staging/cm-14.0.tar.bz2 android_device_google_atv-staging/cm-14.0.zip |
Merge tag 'android-7.0.0_r1' into HEADstaging/cm-14.0
Android 7.0.0 release 1
21 files changed, 220 insertions, 18 deletions
diff --git a/init.goldfish.rc b/init.goldfish.rc new file mode 100644 index 0000000..48663bc --- /dev/null +++ b/init.goldfish.rc @@ -0,0 +1,99 @@ + +on early-init + mount debugfs debugfs /sys/kernel/debug + +on init + +on boot + setprop ARGH ARGH + setprop net.eth0.gw 10.0.2.2 + setprop net.eth0.dns1 10.0.2.3 + setprop net.dns1 10.0.2.3 + setprop net.gprs.local-ip 10.0.2.15 + setprop ro.radio.use-ppp no + setprop ro.build.product generic + setprop ro.product.device generic + +# fake some battery state + setprop status.battery.state Slow + setprop status.battery.level 5 + setprop status.battery.level_raw 50 + setprop status.battery.level_scale 9 + +# set up the GPU caching + setprop ro.hwui.texture_cache_size 72 + setprop ro.hwui.layer_cache_size 48 + setprop ro.hwui.r_buffer_cache_size 8 + setprop ro.hwui.path_cache_size 32 + setprop ro.hwui.gradient_cache_size 1 + setprop ro.hwui.drop_shadow_cache_size 6 + setprop ro.hwui.texture_cache_flushrate 0.4 + setprop ro.hwui.text_small_cache_width 1024 + setprop ro.hwui.text_small_cache_height 1024 + setprop ro.hwui.text_large_cache_width 2048 + setprop ro.hwui.text_large_cache_height 1024 + +# disable some daemons the emulator doesn't want + stop dund + stop akmd + +# start essential services + start qemud + start goldfish-logcat + start goldfish-setup + + setprop ro.setupwizard.mode EMULATOR + +# enable Google-specific location features, +# like NetworkLocationProvider and LocationCollector + setprop ro.com.google.locationfeatures 1 + +# For the emulator, which bypasses Setup Wizard, you can specify +# account info for the device via these two properties. Google +# Login Service will insert these accounts into the database when +# it is created (ie, after a data wipe). +# +# setprop ro.config.hosted_account username@hosteddomain.org:password +# setprop ro.config.google_account username@gmail.com:password +# +# You MUST have a Google account on the device, and you MAY +# additionally have a hosted account. No other configuration is +# supported, and arbitrary breakage may result if you specify +# something else. + +on fs + mount_all /fstab.goldfish + +service goldfish-setup /system/etc/init.goldfish.sh + user root + group root + oneshot + +# The qemu-props program is used to set various system +# properties on boot. It must be run early during the boot +# process to avoid race conditions with other daemons that +# might read them (e.g. surface flinger), so define it in +# class 'core' +# +service qemu-props /system/bin/qemu-props + class core + user root + group root + oneshot + +service qemud /system/bin/qemud + socket qemud stream 666 + oneshot + +# -Q is a special logcat option that forces the +# program to check wether it runs on the emulator +# if it does, it redirects its output to the device +# named by the androidboot.console kernel option +# if not, is simply exits immediately + +service goldfish-logcat /system/bin/logcat -Q + oneshot + +service fingerprintd /system/bin/fingerprintd + class late_start + user system diff --git a/init.ranchu.rc b/init.ranchu.rc new file mode 100644 index 0000000..5baf9ed --- /dev/null +++ b/init.ranchu.rc @@ -0,0 +1,81 @@ +on fs + mount_all /fstab.ranchu + +on early-init + mount debugfs debugfs /sys/kernel/debug + +on init + + symlink /dev/goldfish_pipe /dev/android_pipe + symlink /dev/goldfish_pipe /dev/qemu_pipe + +on boot + setprop net.eth0.gw 10.0.2.2 + setprop net.eth0.dns1 10.0.2.3 + setprop net.gprs.local-ip 10.0.2.15 + setprop ro.radio.use-ppp no + setprop ro.build.product generic + setprop ro.product.device generic + setprop ro.hardware.audio.primary goldfish + +# fake some battery state + setprop status.battery.state Slow + setprop status.battery.level 5 + setprop status.battery.level_raw 50 + setprop status.battery.level_scale 9 + +# set up the GPU caching + setprop ro.hwui.texture_cache_size 72 + setprop ro.hwui.layer_cache_size 48 + setprop ro.hwui.r_buffer_cache_size 8 + setprop ro.hwui.path_cache_size 32 + setprop ro.hwui.gradient_cache_size 1 + setprop ro.hwui.drop_shadow_cache_size 6 + setprop ro.hwui.texture_cache_flushrate 0.4 + setprop ro.hwui.text_small_cache_width 1024 + setprop ro.hwui.text_small_cache_height 1024 + setprop ro.hwui.text_large_cache_width 2048 + setprop ro.hwui.text_large_cache_height 1024 + +# disable some daemons the emulator doesn't want + stop dund + stop akmd + +# start essential services +# These were written for the classic emulator, but are applicable to ranchu + start goldfish-logcat + start goldfish-setup + +# enable Google-specific location features, +# like NetworkLocationProvider and LocationCollector + setprop ro.com.google.locationfeatures 1 + +service goldfish-setup /system/etc/init.goldfish.sh + user root + group root + oneshot + +# The qemu-props program is used to set various system +# properties on boot. It must be run early during the boot +# process to avoid race conditions with other daemons that +# might read them (e.g. surface flinger), so define it in +# class 'core' +# +service qemu-props /system/bin/qemu-props + class core + user root + group root + oneshot + +# -Q is a special logcat option that forces the +# program to check wether it runs on the emulator +# if it does, it redirects its output to the device +# named by the androidboot.console kernel option +# if not, is simply exits immediately + +service goldfish-logcat /system/bin/logcat -Q + oneshot + +service fingerprintd /system/bin/fingerprintd + class late_start + user system diff --git a/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg b/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg Binary files differdeleted file mode 100644 index 5b33b29..0000000 --- a/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg +++ /dev/null diff --git a/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png b/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png Binary files differnew file mode 100644 index 0000000..8ed1509 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 03f3c5b..6c84b87 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -44,4 +44,12 @@ <bool name="config_hasPermanentDpad">true</bool> <bool name="config_defaultInTouchMode">false</bool> + + <!-- Launcher customization requires AppWidgetService, but otherwise + home screen widgets are not supported on TV --> + <bool name="config_enableAppWidgetService">true</bool> + + <!-- Package of the unbundled tv remote service which can connect to tv remote provider --> + <string translatable="false" name="config_tvRemoteServicePackage">com.google.android.tv.remote.service</string> + </resources> diff --git a/overlay/frameworks/base/core/res/res/xml/global_keys.xml b/overlay/frameworks/base/core/res/res/xml/global_keys.xml index 0e761ef..f6142dc 100644 --- a/overlay/frameworks/base/core/res/res/xml/global_keys.xml +++ b/overlay/frameworks/base/core/res/res/xml/global_keys.xml @@ -28,8 +28,9 @@ <global_keys version="1"> <!-- Example format: id = keycode to handle globally. component = component which will handle this key. --> + <key keyCode="KEYCODE_GUIDE" component="com.google.android.tv/.receiver.GlobalKeyReceiver" /> <key keyCode="KEYCODE_TV" component="com.google.android.tv/.receiver.GlobalKeyReceiver" /> <key keyCode="KEYCODE_TV_INPUT" component="com.google.android.tv/.receiver.GlobalKeyReceiver" /> - <!-- OEMs might want to add more custom global key handlings for TV specific key codes such as - KEYCODE_TVGUIDE and KEYCODE_DVR. --> + + <!-- OEMs might want to add more custom global key handlings for TV specific key codes. --> </global_keys> diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-hdpi/recents_tv_bg_default.png b/overlay/frameworks/base/packages/SystemUI/res/drawable-hdpi/recents_tv_bg_default.png Binary files differnew file mode 100644 index 0000000..b308498 --- /dev/null +++ b/overlay/frameworks/base/packages/SystemUI/res/drawable-hdpi/recents_tv_bg_default.png diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mdpi/recents_tv_bg_default.png b/overlay/frameworks/base/packages/SystemUI/res/drawable-mdpi/recents_tv_bg_default.png Binary files differnew file mode 100644 index 0000000..60c17f7 --- /dev/null +++ b/overlay/frameworks/base/packages/SystemUI/res/drawable-mdpi/recents_tv_bg_default.png diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-xhdpi/recents_tv_bg_default.png b/overlay/frameworks/base/packages/SystemUI/res/drawable-xhdpi/recents_tv_bg_default.png Binary files differnew file mode 100644 index 0000000..d54f96d --- /dev/null +++ b/overlay/frameworks/base/packages/SystemUI/res/drawable-xhdpi/recents_tv_bg_default.png diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml index 05960f8..af03224 100644 --- a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -22,4 +22,10 @@ <!-- Disable KeyguardSerivce --> <bool name="config_enableKeyguardService">false</bool> + <!-- Package names to be blacklisted in Recents --> + <string-array name="recents_tv_blacklist_array"> + <item>com.google.android.tv.remote.service</item> + <item>com.google.android.apps.mediashell</item> + </string-array> + </resources> diff --git a/permissions/tv_core_hardware.xml b/permissions/tv_core_hardware.xml index 7ea515f..d6b9c0b 100644 --- a/permissions/tv_core_hardware.xml +++ b/permissions/tv_core_hardware.xml @@ -26,12 +26,11 @@ <feature name="android.hardware.screen.landscape" /> <feature name="android.hardware.type.television" /> - <feature name="android.software.app_widgets" /> <feature name="android.software.backup" /> <feature name="android.software.leanback" /> <feature name="android.software.leanback_only" /> <feature name="android.software.live_tv" /> - <feature name="android.software.print" /> + <feature name="android.software.picture_in_picture" /> <feature name="android.software.voice_recognizers" /> </permissions> diff --git a/products/atv_base.mk b/products/atv_base.mk index a7a62ad..db8bc44 100644 --- a/products/atv_base.mk +++ b/products/atv_base.mk @@ -63,6 +63,7 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ BasicDreams \ CalendarProvider \ + CaptivePortalLogin \ CertInstaller \ ExternalStorageProvider \ FusedLocation \ @@ -73,7 +74,9 @@ PRODUCT_PACKAGES += \ PrintSpooler \ ProxyHandler \ SharedStorageBackup \ - VpnDialogs + VpnDialogs \ + com.android.media.tv.remoteprovider \ + com.android.media.tv.remoteprovider.xml # From build/target/product/generic_no_telephony.mk PRODUCT_PACKAGES += \ @@ -94,15 +97,17 @@ PRODUCT_COPY_FILES += \ PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.media.avsync=true -# Use full Noto Sans Japanese font -FONT_NOTOSANS_JP_FULL := true - # Do not include the Live Channels app if USE_OEM_TV_APP flag is set. # The feature com.google.android.tv.installed is used to tell whether a device # has the pre-installed Live Channels app. This is necessary for the Play Store # to identify the compatible devices that can install later updates of the app. ifneq ($(USE_OEM_TV_APP),true) - PRODUCT_PACKAGES += TV + ifneq ($(PRODUCT_IS_ATV_SDK),true) + PRODUCT_PACKAGES += TV + else + PRODUCT_PACKAGES += LiveTv + endif # if PRODUCT_IS_ATV_SDK + PRODUCT_COPY_FILES += \ device/google/atv/permissions/com.google.android.tv.installed.xml:system/etc/permissions/com.google.android.tv.installed.xml endif diff --git a/products/atv_generic.mk b/products/atv_generic.mk index bfaa99c..bc94202 100644 --- a/products/atv_generic.mk +++ b/products/atv_generic.mk @@ -34,13 +34,7 @@ PRODUCT_AAPT_PREF_CONFIG := xhdpi # From build/target/product/full_base.mk PRODUCT_PACKAGES += \ - Galaxy4 \ - HoloSpiralWallpaper \ - LiveWallpapers \ LiveWallpapersPicker \ - MagicSmokeWallpapers \ - NoiseField \ - PhaseBeam \ PhotoTable $(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk) diff --git a/products/sdk_atv_armv7.mk b/products/sdk_atv_armv7.mk index 4740f24..45b3d65 100644 --- a/products/sdk_atv_armv7.mk +++ b/products/sdk_atv_armv7.mk @@ -20,6 +20,7 @@ PRODUCT_PACKAGES := \ EmulatorSmokeTests \ LeanbackSampleApp \ TelephonyProvider \ + SdkSetup \ audio.primary.goldfish \ rild @@ -30,7 +31,10 @@ DEVICE_PACKAGE_OVERLAYS := \ PRODUCT_COPY_FILES := \ device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \ device/generic/goldfish/camera/media_codecs.xml:system/etc/media_codecs.xml \ + device/google/atv/init.goldfish.rc:root/init.goldfish.rc \ + device/google/atv/init.ranchu.rc:root/init.ranchu.rc \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ + frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_tv.xml:system/etc/media_codecs_google_tv.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ diff --git a/sdk/images_armeabi-v7a_source.prop_template b/sdk/images_armeabi-v7a_source.prop_template index 19562d5..c0fc670 100644 --- a/sdk/images_armeabi-v7a_source.prop_template +++ b/sdk/images_armeabi-v7a_source.prop_template @@ -1,6 +1,6 @@ Pkg.Desc=Android SDK Platform ${PLATFORM_VERSION} Pkg.UserSrc=false -Pkg.Revision=2 +Pkg.Revision=4 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION} AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME} SystemImage.Abi=armeabi-v7a diff --git a/sdk/images_x86_source.prop_template b/sdk/images_x86_source.prop_template index ab2f0e8..5477fcd 100644 --- a/sdk/images_x86_source.prop_template +++ b/sdk/images_x86_source.prop_template @@ -1,6 +1,6 @@ Pkg.Desc=Android SDK Platform ${PLATFORM_VERSION} Pkg.UserSrc=false -Pkg.Revision=2 +Pkg.Revision=4 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION} AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME} SystemImage.Abi=x86 diff --git a/sepolicy/priv_app.te b/sepolicy/priv_app.te new file mode 100644 index 0000000..e47bb1f --- /dev/null +++ b/sepolicy/priv_app.te @@ -0,0 +1 @@ +allow priv_app dvb_device:chr_file rw_file_perms; diff --git a/sepolicy/service.te b/sepolicy/service.te new file mode 100644 index 0000000..0dad463 --- /dev/null +++ b/sepolicy/service.te @@ -0,0 +1,2 @@ +# system_server_services needed on atv +type tv_remote_service, system_server_service, service_manager_type; diff --git a/sepolicy/service_contexts b/sepolicy/service_contexts new file mode 100644 index 0000000..a809ae0 --- /dev/null +++ b/sepolicy/service_contexts @@ -0,0 +1 @@ +tv_remote u:object_r:tv_remote_service:s0 diff --git a/sepolicy/system_service.te b/sepolicy/system_service.te index d0bef2f..f6783d7 100644 --- a/sepolicy/system_service.te +++ b/sepolicy/system_service.te @@ -1 +1,3 @@ +# Access devices. allow system_server dvb_device:chr_file rw_file_perms; +allow system_server uhid_device:chr_file { write open ioctl }; diff --git a/sepolicy/untrusted_app.te b/sepolicy/untrusted_app.te deleted file mode 100644 index 8f23f4e..0000000 --- a/sepolicy/untrusted_app.te +++ /dev/null @@ -1 +0,0 @@ -allow untrusted_app dvb_device:chr_file rw_file_perms; |