some launcher script tweaks
[android_pandora.git] / patches / all.patch
CommitLineData
34a1da07 1
64ddff2c 2project build/
3diff --git a/build/core/product_config.mk b/build/core/product_config.mk
4index fd8feb7..ee2be34 100644
5--- a/build/core/product_config.mk
6+++ b/build/core/product_config.mk
7@@ -193,7 +193,8 @@ else
8 #
9 #TODO: when we start allowing direct pointers to product files,
10 # guarantee that they're in this list.
11- $(call import-products, $(get-all-product-makefiles))
12+ #$(call import-products, $(get-all-product-makefiles))
13+ $(call import-products, device/openpandora/pandora/pandora.mk)
14 endif # TARGET_BUILD_APPS
15 $(check-all-products)
16 #$(dump-products)
17
b2264797 18project external/hostap/
19diff --git a/external/hostap/Android.mk b/external/hostap/Android.mk
20index 77d72ea..5c6b589 100644
21--- a/external/hostap/Android.mk
22+++ b/external/hostap/Android.mk
23@@ -1,3 +1,5 @@
24 ifeq ($(WPA_SUPPLICANT_VERSION),VER_0_8_X)
25- include $(call all-subdir-makefiles)
26+ #include $(call all-subdir-makefiles)
27+ LOCAL_PATH := $(call my-dir)
28+ include $(LOCAL_PATH)/wpa_supplicant/Android.mk
29 endif
30diff --git a/external/hostap/wpa_supplicant/config-android b/external/hostap/wpa_supplicant/config-android
31index c71056c..2532ccd 100644
32--- a/external/hostap/wpa_supplicant/config-android
33+++ b/external/hostap/wpa_supplicant/config-android
34@@ -81,7 +81,7 @@
35 CONFIG_DRIVER_WEXT=y
36
37 # Driver interface for Linux drivers using the nl80211 kernel interface
38-CONFIG_DRIVER_NL80211=y
39+#CONFIG_DRIVER_NL80211=y
40
41 # Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
42 #CONFIG_DRIVER_BSD=y
43
44project external/openssl/
45diff --git a/external/openssl/crypto/Android.mk b/external/openssl/crypto/Android.mk
46index 222bc96..f2361a5 100644
47--- a/external/openssl/crypto/Android.mk
48+++ b/external/openssl/crypto/Android.mk
49@@ -155,6 +155,7 @@ local_src_files := \
50 bn/bn_sqr.c \
51 bn/bn_sqrt.c \
52 bn/bn_word.c \
53+ bn/bn_const.c \
54 buffer/buf_err.c \
55 buffer/buffer.c \
56 comp/c_rle.c \
57
34a1da07 58project frameworks/base/
59diff --git a/frameworks/base/libs/ui/InputReader.cpp b/frameworks/base/libs/ui/InputReader.cpp
b2264797 60index 7626b15..16e17b3 100644
34a1da07 61--- a/frameworks/base/libs/ui/InputReader.cpp
62+++ b/frameworks/base/libs/ui/InputReader.cpp
b2264797 63@@ -1468,12 +1468,36 @@ bool TouchInputMapper::configureSurfaceLocked() {
34a1da07 64
65 // Configure X and Y factors.
66 if (mRawAxes.x.valid && mRawAxes.y.valid) {
67- mLocked.xOrigin = mRawAxes.x.minValue;
68- mLocked.yOrigin = mRawAxes.y.minValue;
69- mLocked.xScale = float(width) / mRawAxes.x.getRange();
70- mLocked.yScale = float(height) / mRawAxes.y.getRange();
71- mLocked.xPrecision = 1.0f / mLocked.xScale;
72- mLocked.yPrecision = 1.0f / mLocked.yScale;
73+ int a[7], have_pointercal = 0;
74+ const char *fname = "/vendor/pointercal";
75+ FILE *f = fopen(fname, "r");
76+ int ret;
77+ if (f) {
78+ ret = fscanf(f, "%d %d %d %d %d %d %d",
79+ &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6]);
80+ if (ret == 7)
81+ have_pointercal = 1;
82+ else
83+ LOGW("Failed to parse %s", fname);
84+ fclose(f);
85+ }
86+ else
87+ LOGW("Failed to open %s", fname);
88+
89+ if (have_pointercal) {
90+ mLocked.xScale = float(a[0]) / float(a[6]);
91+ mLocked.yScale = float(a[4]) / float(a[6]);
92+ // a[2] / mLocked.xScale / a[6]
93+ mLocked.xOrigin = -a[2] / a[0];
94+ mLocked.yOrigin = -a[5] / a[4];
95+ } else {
96+ mLocked.xOrigin = mRawAxes.x.minValue;
97+ mLocked.yOrigin = mRawAxes.y.minValue;
98+ mLocked.xScale = float(width) / mRawAxes.x.getRange();
99+ mLocked.yScale = float(height) / mRawAxes.y.getRange();
100+ }
101+ mLocked.xPrecision = fabsf(1.0f / mLocked.xScale);
102+ mLocked.yPrecision = fabsf(1.0f / mLocked.yScale);
103
104 configureVirtualKeysLocked();
105 } else {
b2264797 106@@ -1489,7 +1513,7 @@ bool TouchInputMapper::configureSurfaceLocked() {
34a1da07 107 // Scale factor for terms that are not oriented in a particular axis.
108 // If the pixels are square then xScale == yScale otherwise we fake it
109 // by choosing an average.
110- mLocked.geometricScale = avg(mLocked.xScale, mLocked.yScale);
111+ mLocked.geometricScale = avg(fabsf(mLocked.xScale), fabsf(mLocked.yScale));
112
113 // Size of diagonal axis.
114 float diagonalSize = pythag(width, height);
b2264797 115diff --git a/frameworks/base/services/java/com/android/server/PowerManagerService.java b/frameworks/base/services/java/com/android/server/PowerManagerService.java
116index 44eb228..9444fad 100644
117--- a/frameworks/base/services/java/com/android/server/PowerManagerService.java
118+++ b/frameworks/base/services/java/com/android/server/PowerManagerService.java
119@@ -766,7 +766,8 @@ class PowerManagerService extends IPowerManager.Stub
120 }
121
122 private void updateWakeLockLocked() {
123- if (mStayOnConditions != 0 && mBatteryService.isPowered(mStayOnConditions)) {
124+ /* pandora hack: screenoff breakage workaround */
125+ if (true || mStayOnConditions != 0 && mBatteryService.isPowered(mStayOnConditions)) {
126 // keep the device on if we're plugged in and mStayOnWhilePluggedIn is set.
127 mStayOnWhilePluggedInScreenDimLock.acquire();
128 mStayOnWhilePluggedInPartialLock.acquire();
34a1da07 129
130project hardware/libhardware/
131diff --git a/hardware/libhardware/modules/gralloc/framebuffer.cpp b/hardware/libhardware/modules/gralloc/framebuffer.cpp
132index fe57a8a..b5465e4 100644
133--- a/hardware/libhardware/modules/gralloc/framebuffer.cpp
134+++ b/hardware/libhardware/modules/gralloc/framebuffer.cpp
135@@ -109,6 +109,12 @@ static int fb_post(struct framebuffer_device_t* dev, buffer_handle_t buffer)
136 }
137 m->currentBuffer = buffer;
138
139+#ifndef FBIO_WAITFORVSYNC
140+#define FBIO_WAITFORVSYNC _IOW ('F', 32, unsigned int)
141+#endif
142+ int mode = 0;
143+ ioctl(m->framebuffer->fd, FBIO_WAITFORVSYNC, &mode);
144+
145 } else {
146 // If we can't do the page_flip, just copy the buffer to the front
147 // FIXME: use copybit HAL instead of memcpy
148
b2264797 149project hardware/libhardware_legacy/
150diff --git a/hardware/libhardware_legacy/power/power.c b/hardware/libhardware_legacy/power/power.c
151index bca52fc..2ffadfa 100644
152--- a/hardware/libhardware_legacy/power/power.c
153+++ b/hardware/libhardware_legacy/power/power.c
154@@ -254,6 +254,9 @@ set_screen_state(int on)
155 //LOGI("go_to_sleep eventTime=%lld now=%lld g_error=%s\n", eventTime,
156 // systemTime(), strerror(g_error));
157
158+ // pandora hack
159+ return 0;
160+
161 if (g_error) return g_error;
162
163 char buf[32];
164diff --git a/hardware/libhardware_legacy/wifi/wifi.c b/hardware/libhardware_legacy/wifi/wifi.c
165index 167402b..4e03740 100644
166--- a/hardware/libhardware_legacy/wifi/wifi.c
167+++ b/hardware/libhardware_legacy/wifi/wifi.c
168@@ -695,17 +695,40 @@ int wifi_connect_to_supplicant()
169 return 0;
170 }
171
172+#include <sys/types.h>
173+#include <sys/socket.h>
174+#include <unistd.h>
175+#include <sys/ioctl.h>
176+#include <net/if.h>
177+
178 int wifi_send_command(struct wpa_ctrl *ctrl, const char *cmd, char *reply, size_t *reply_len)
179 {
180 int ret;
181
182+ int sock = socket(AF_INET, SOCK_DGRAM, 0);
183+ if (sock != -1) {
184+ struct ifreq ifr;
185+ memset(&ifr, 0, sizeof(ifr));
186+ strcpy(ifr.ifr_name, "wlan0");
187+
188+ if (ioctl(sock, SIOCGIFFLAGS, &ifr) == 0) {
189+ if (!(ifr.ifr_flags & IFF_UP)) {
190+ LOGE("wlan0 is down - attempting to bring up..\n");
191+ ifr.ifr_flags |= IFF_UP;
192+ if (ioctl(sock, SIOCSIFFLAGS, &ifr) == 0)
193+ LOGE("wlan0 brought up\n");
194+ }
195+ }
196+ close(sock);
197+ }
198+
199 if (ctrl_conn == NULL) {
200- LOGV("Not connected to wpa_supplicant - \"%s\" command dropped.\n", cmd);
201+ LOGE("Not connected to wpa_supplicant - \"%s\" command dropped.\n", cmd);
202 return -1;
203 }
204 ret = wpa_ctrl_request(ctrl, cmd, strlen(cmd), reply, reply_len, NULL);
205 if (ret == -2) {
206- LOGD("'%s' command timed out.\n", cmd);
207+ LOGE("'%s' command timed out.\n", cmd);
208 return -2;
209 } else if (ret < 0 || strncmp(reply, "FAIL", 4) == 0) {
210 return -1;
211
ebcf0cf7 212project hardware/ti/omap3/
213diff --git a/hardware/ti/omap3/Android.mk b/hardware/ti/omap3/Android.mk
214index d2171bf..059ea3e 100644
215--- a/hardware/ti/omap3/Android.mk
216+++ b/hardware/ti/omap3/Android.mk
217@@ -1,4 +1,7 @@
218 # make sure the omap3 HAL code doesn't get picked up by non-omap boards
219 ifeq ($(OMAP_ENHANCEMENT),true)
220 include $(call first-makefiles-under,$(call my-dir))
221+else
222+ LOCAL_PATH := $(call my-dir)
223+ include $(LOCAL_PATH)/modules/alsa/Android.mk
224 endif
225
b2264797 226project packages/providers/MediaProvider/
227diff --git a/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java b/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java
228index 146966f..3938841 100644
229--- a/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java
230+++ b/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java
231@@ -3317,8 +3317,9 @@ public class MediaProvider extends ContentProvider {
232 Log.i(TAG, "External storage is not (yet) mounted, cannot attach volume.");
233 }
234
235- throw new IllegalArgumentException("Unable to obtain external storage volume ID for " +
236- volume + " volume.");
237+ // pandora hack: ignore for now, like older Android did
238+ //throw new IllegalArgumentException("Unable to obtain external storage volume ID for " +
239+ // volume + " volume.");
240 }
241
242 // generate database name based on volume ID
243
34a1da07 244project system/core/
b2264797 245diff --git a/system/core/init/devices.c b/system/core/init/devices.c
246index 04f2caf..5affc06 100644
247--- a/system/core/init/devices.c
248+++ b/system/core/init/devices.c
249@@ -572,6 +572,9 @@ static void handle_firmware_event(struct uevent *uevent)
250 int status;
251 int ret;
252
253+ // pandora hack: udev is handling this for us
254+ return;
255+
256 if(strcmp(uevent->subsystem, "firmware"))
257 return;
258
34a1da07 259diff --git a/system/core/libsysutils/src/NetlinkListener.cpp b/system/core/libsysutils/src/NetlinkListener.cpp
260index fb088e1..f99227c 100644
261--- a/system/core/libsysutils/src/NetlinkListener.cpp
262+++ b/system/core/libsysutils/src/NetlinkListener.cpp
263@@ -45,21 +45,21 @@ bool NetlinkListener::onDataAvailable(SocketClient *cli)
264 }
265
266 if ((snl.nl_groups != 1) || (snl.nl_pid != 0)) {
267- SLOGE("ignoring non-kernel netlink multicast message");
268- return false;
269+ //SLOGE("ignoring non-kernel netlink multicast message");
270+ return true;
271 }
272
273 struct cmsghdr * cmsg = CMSG_FIRSTHDR(&hdr);
274
275 if (cmsg == NULL || cmsg->cmsg_type != SCM_CREDENTIALS) {
276 SLOGE("ignoring message with no sender credentials");
277- return false;
278+ return true;
279 }
280
281 struct ucred * cred = (struct ucred *)CMSG_DATA(cmsg);
282 if (cred->uid != 0) {
283 SLOGE("ignoring message from non-root UID %d", cred->uid);
284- return false;
285+ return true;
286 }
287
288 NetlinkEvent *evt = new NetlinkEvent();
64ddff2c 289
290project vendor/cyanogen/
291diff --git a/vendor/cyanogen/products/common.mk b/vendor/cyanogen/products/common.mk
292index 195bc57..0477688 100644
293--- a/vendor/cyanogen/products/common.mk
294+++ b/vendor/cyanogen/products/common.mk
295@@ -87,7 +87,7 @@ PRODUCT_COPY_FILES += \
296 # vendor/cyanogen/prebuilt/common/etc/init.d/10apps2sd:system/etc/init.d/10apps2sd
297
298 PRODUCT_COPY_FILES += \
299- vendor/cyanogen/proprietary/RomManager.apk:system/app/RomManager.apk \
300+# vendor/cyanogen/proprietary/RomManager.apk:system/app/RomManager.apk \
301
302 # Enable SIP+VoIP on all targets
303 PRODUCT_COPY_FILES += \