fugu: stop dex preopt'ing
am: 5db03cd21d -s ours
Change-Id: I3f51cffe0fe33bb2e7a4bdb49ac7f58ad4f13c30
diff --git a/BoardConfig.mk b/BoardConfig.mk
index a7552e3..ee21603 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -90,19 +90,6 @@
BOARD_EGL_CFG := device/asus/fugu/egl.cfg
-ADDITIONAL_DEFAULT_PROPERTIES += \
- ro.opengles.version = 196609 \
- ro.hwui.drop_shadow_cache_size = 4.0 \
- ro.hwui.gradient_cache_size = 0.8 \
- ro.hwui.layer_cache_size = 32.0 \
- ro.hwui.path_cache_size = 24.0 \
- ro.hwui.text_large_cache_width = 2048 \
- ro.hwui.text_large_cache_height = 1024 \
- ro.hwui.text_small_cache_width = 1024 \
- ro.hwui.text_small_cache_height = 512 \
- ro.hwui.texture_cache_flushrate = 0.4 \
- ro.hwui.texture_cache_size = 48.0 \
-
MAX_EGL_CACHE_ENTRY_SIZE := 65536
MAX_EGL_CACHE_SIZE := 1048576
@@ -125,9 +112,6 @@
# Video Post Processing
TARGET_HAS_ISV := true
-ADDITIONAL_DEFAULT_PROPERTIES += \
- persist.intel.isv.vpp = 1 \
- persist.intel.isv.frc = 1
OVERRIDE_RS_DRIVER := libPVRRS.so
diff --git a/device.mk b/device.mk
index 8eba61a..13bbc60 100644
--- a/device.mk
+++ b/device.mk
@@ -218,6 +218,8 @@
libwpa_client \
lib_driver_cmd_bcmdhd \
hostapd \
+ wificond \
+ wifilogd \
wpa_supplicant \
bcmdhd.cal \
bcmdhd_sr2.cal
@@ -297,17 +299,24 @@
# time cost of dexing on first boot.
WITH_DEXPREOPT_BOOT_IMG_ONLY := true
-# l10n builds are larger so trim further
-ifneq (,$(filter fugu_l10n, $(TARGET_PRODUCT)))
-FUGU_DONT_DEXPREOPT_MODULES += \
- Shell \
- Overscan \
- RemoteControlService
-endif
-
-$(call add-product-dex-preopt-module-config,$(FUGU_DONT_DEXPREOPT_MODULES),disable)
-
# Some CTS tests will be skipped based on what the initial API level that
# shipped on device was.
PRODUCT_PROPERTY_OVERRIDES += \
ro.product.first_api_level=21
+
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ ro.opengles.version=196609 \
+ ro.hwui.drop_shadow_cache_size=4.0 \
+ ro.hwui.gradient_cache_size=0.8 \
+ ro.hwui.layer_cache_size=32.0 \
+ ro.hwui.path_cache_size=24.0 \
+ ro.hwui.text_large_cache_width=2048 \
+ ro.hwui.text_large_cache_height=1024 \
+ ro.hwui.text_small_cache_width=1024 \
+ ro.hwui.text_small_cache_height=512 \
+ ro.hwui.texture_cache_flushrate=0.4 \
+ ro.hwui.texture_cache_size=48.0 \
+
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ persist.intel.isv.vpp=1 \
+ persist.intel.isv.frc=1
diff --git a/init.fugu.rc b/init.fugu.rc
index 7429b13..7106538 100644
--- a/init.fugu.rc
+++ b/init.fugu.rc
@@ -127,8 +127,8 @@
# Bluetooth
setprop ro.bt.bdaddr_path "/factory/bt/bd_addr.conf"
chmod 0660 /sys/class/rfkill/rfkill2/state
- chown bluetooth net_bt_stack /sys/class/rfkill/rfkill2/state
- chown bluetooth net_bt_stack /sys/class/rfkill/rfkill2/type
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill2/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill2/type
# Create directory used by audio subsystem
mkdir /data/misc/audio 0770 audio audio
@@ -184,14 +184,7 @@
# Clear panic partition
write /proc/emmc_ipanic_header 1
-service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0
- class main
- socket wpa_wlan0 dgram 660 wifi wifi
- group system wifi inet bluetooth
- disabled
- oneshot
-
-service p2p_supplicant /system/bin/wpa_supplicant \
+service wpa_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
-m/data/misc/wifi/p2p_supplicant.conf \
-puse_p2p_group_interface=1p2p_device=1use_multi_chan_concurrent=1 \
@@ -206,7 +199,7 @@
# Bluetooth related services
service BtFwLoader /system/bin/BtFwLoader
class main
- group bluetooth net_bt_stack
+ group bluetooth
user bluetooth
oneshot
diff --git a/recovery/recovery_ui.cpp b/recovery/recovery_ui.cpp
index abd89cd..8df24c3 100644
--- a/recovery/recovery_ui.cpp
+++ b/recovery/recovery_ui.cpp
@@ -28,6 +28,8 @@
#include <time.h>
#include <unistd.h>
+#include <string>
+
#include "common.h"
#include "device.h"
#include "ui.h"
@@ -40,9 +42,9 @@
class FuguUI : public ScreenRecoveryUI {
public:
- void Init() override {
+ bool Init(const std::string& locale) override {
SetupDisplayMode();
- ScreenRecoveryUI::Init();
+ return ScreenRecoveryUI::Init(locale);
}
void SetupDisplayMode() {
diff --git a/recovery/recovery_updater.cpp b/recovery/recovery_updater.cpp
index ee05901..fa23078 100644
--- a/recovery/recovery_updater.cpp
+++ b/recovery/recovery_updater.cpp
@@ -25,6 +25,10 @@
#include <fcntl.h>
#include <cutils/properties.h>
#include <sys/mman.h>
+
+#include <string>
+#include <vector>
+
#include "fw_version_check.h"
#include "edify/expr.h"
@@ -284,7 +288,6 @@
Value* FlashIfwiFuguFn(const char *name, State * state, int argc, Expr * argv[]) {
Value *ret = NULL;
- char *filename = NULL;
unsigned char *buffer = NULL;
int ifwi_size;
FILE *f = NULL;
@@ -293,32 +296,33 @@
ErrorAbort(state, "%s() expected 1 arg, got %d", name, argc);
return NULL;
}
- if (ReadArgs(state, argv, 1, &filename) < 0) {
+ std::vector<std::string> args;
+ if (!ReadArgs(state, 1, argv, &args)) {
ErrorAbort(state, "%s() invalid args ", name);
return NULL;
}
-
- if (filename == NULL || strlen(filename) == 0) {
+ const std::string& filename = args[0];
+ if (filename.empty()) {
ErrorAbort(state, "filename argument to %s can't be empty", name);
- goto done;
+ return nullptr;
}
- if ((f = fopen(filename,"rb")) == NULL) {
- ErrorAbort(state, "Unable to open file %s: %s ", filename, strerror(errno));
- goto done;
+ if ((f = fopen(filename.c_str(),"rb")) == NULL) {
+ ErrorAbort(state, "Unable to open file %s: %s ", filename.c_str(), strerror(errno));
+ return nullptr;
}
fseek(f, 0, SEEK_END);
ifwi_size = ftell(f);
if (ifwi_size < 0) {
ErrorAbort(state, "Unable to get ifwi_size ");
- goto done;
+ return nullptr;
};
fseek(f, 0, SEEK_SET);
if ((buffer = reinterpret_cast<unsigned char *>(malloc(ifwi_size))) == NULL) {
ErrorAbort(state, "Unable to alloc ifwi flash buffer of size %d", ifwi_size);
- goto done;
+ return nullptr;
}
fread(buffer, ifwi_size, 1, f);
fclose(f);
@@ -326,15 +330,11 @@
if(flash_ifwi_scu_emmc(buffer, ifwi_size) !=0) {
ErrorAbort(state, "Unable to flash ifwi in emmc");
free(buffer);
- goto done;
+ return nullptr;
};
free(buffer);
- ret = StringValue(strdup(""));
-
-done:
- if (filename)
- free(filename);
+ ret = StringValue("");
return ret;
}
diff --git a/sepolicy/attributes b/sepolicy/attributes
new file mode 100644
index 0000000..d140949
--- /dev/null
+++ b/sepolicy/attributes
@@ -0,0 +1,4 @@
+# domain_deprecated attribute is being removed from core policy. Leave it
+# in device-specific policy for device-specific domains. Unlike core policy,
+# device-specific policy will eventually be deprecated.
+attribute device_domain_deprecated;
diff --git a/sepolicy/btfwloader.te b/sepolicy/btfwloader.te
index fe643c4..11da9df 100644
--- a/sepolicy/btfwloader.te
+++ b/sepolicy/btfwloader.te
@@ -1,4 +1,4 @@
-type btfwloader, domain, domain_deprecated;
+type btfwloader, domain, device_domain_deprecated;
type btfwloader_exec, exec_type, file_type;
init_daemon_domain(btfwloader)
diff --git a/sepolicy/device_domain_deprecated.te b/sepolicy/device_domain_deprecated.te
new file mode 100644
index 0000000..bbe0b71
--- /dev/null
+++ b/sepolicy/device_domain_deprecated.te
@@ -0,0 +1,36 @@
+allow device_domain_deprecated adbd:unix_stream_socket connectto;
+allow device_domain_deprecated adbd:fd use;
+allow device_domain_deprecated adbd:unix_stream_socket { getattr getopt ioctl read write shutdown };
+allow device_domain_deprecated rootfs:dir r_dir_perms;
+allow device_domain_deprecated rootfs:file r_file_perms;
+allow device_domain_deprecated rootfs:lnk_file r_file_perms;
+allow device_domain_deprecated device:file read;
+allow device_domain_deprecated system_file:dir r_dir_perms;
+allow device_domain_deprecated system_file:file r_file_perms;
+allow device_domain_deprecated system_file:lnk_file r_file_perms;
+allow device_domain_deprecated system_data_file:file { getattr read };
+allow device_domain_deprecated system_data_file:lnk_file r_file_perms;
+allow device_domain_deprecated apk_data_file:dir { getattr search };
+allow device_domain_deprecated apk_data_file:file r_file_perms;
+allow device_domain_deprecated apk_data_file:lnk_file r_file_perms;
+allow device_domain_deprecated dalvikcache_data_file:dir { search getattr };
+allow device_domain_deprecated dalvikcache_data_file:file r_file_perms;
+allow device_domain_deprecated cache_file:dir r_dir_perms;
+allow device_domain_deprecated cache_file:file { getattr read };
+allow device_domain_deprecated cache_file:lnk_file r_file_perms;
+allow device_domain_deprecated ion_device:chr_file rw_file_perms;
+allow device_domain_deprecated proc:dir r_dir_perms;
+allow device_domain_deprecated proc:{ file lnk_file } r_file_perms;
+allow device_domain_deprecated sysfs:dir r_dir_perms;
+allow device_domain_deprecated sysfs:{ file lnk_file } r_file_perms;
+allow device_domain_deprecated inotify:dir r_dir_perms;
+allow device_domain_deprecated inotify:{ file lnk_file } r_file_perms;
+allow device_domain_deprecated cgroup:dir r_dir_perms;
+allow device_domain_deprecated cgroup:{ file lnk_file } r_file_perms;
+allow device_domain_deprecated proc_meminfo:file r_file_perms;
+allow device_domain_deprecated proc_net:dir r_dir_perms;
+allow device_domain_deprecated proc_net:{ file lnk_file } r_file_perms;
+allow device_domain_deprecated selinuxfs:dir r_dir_perms;
+allow device_domain_deprecated selinuxfs:file r_file_perms;
+allow device_domain_deprecated asec_public_file:file r_file_perms;
+allow device_domain_deprecated { asec_public_file asec_apk_file }:dir r_dir_perms;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 51dcf70..8f9ef45 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -30,6 +30,9 @@
/dev/block/pci/pci0000:00/0000:00:01\.0/by-name/misc u:object_r:misc_block_device:s0
/dev/block/zram0 u:object_r:swap_block_device:s0
+# sysfs files used by wificond
+/sys/module/bcmdhd/parameters/firmware_path u:object_r:sysfs_wlan_fwpath:s0
+
/sys/kernel/debug/pvr/pid(/.*)? u:object_r:gpu_pid_stats_file:s0
/sys/kernel/debug/ion/heaps u:object_r:gpu_pid_stats_file:s0
diff --git a/sepolicy/mediacodec.te b/sepolicy/mediacodec.te
index 85f4107..bc0d16a 100644
--- a/sepolicy/mediacodec.te
+++ b/sepolicy/mediacodec.te
@@ -1,3 +1,12 @@
dontaudit mediacodec graphics_device:dir search;
allow mediacodec surfaceflinger:fifo_file { read write };
+# TODO: STOPSHIP -- b/33344694
+# This is a temporary WAR to allow secure codecs hosted
+# in media.codec to access tee. Eventually OMX will be
+# converted to HIDL, and the secure codecs need to be
+# moved to a process that has this permission.
+
+userdebug_or_eng(`
+ allow mediacodec tee_device:chr_file r_file_perms;
+')
diff --git a/ueventd.fugu.rc b/ueventd.fugu.rc
index 9331048..be1139e 100644
--- a/ueventd.fugu.rc
+++ b/ueventd.fugu.rc
@@ -1,4 +1,4 @@
-/dev/ttyMFD0 0660 bluetooth net_bt_stack
+/dev/ttyMFD0 0660 bluetooth bluetooth
# Android sync framework sw driver
/dev/dri/card0 0666 system system