34a1da07 |
1 | |
64ddff2c |
2 | project build/ |
3 | diff --git a/build/core/product_config.mk b/build/core/product_config.mk |
4 | index 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 |
18 | project external/hostap/ |
19 | diff --git a/external/hostap/Android.mk b/external/hostap/Android.mk |
20 | index 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 |
30 | diff --git a/external/hostap/wpa_supplicant/config-android b/external/hostap/wpa_supplicant/config-android |
31 | index 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 | |
44 | project external/openssl/ |
45 | diff --git a/external/openssl/crypto/Android.mk b/external/openssl/crypto/Android.mk |
46 | index 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 |
58 | project frameworks/base/ |
59 | diff --git a/frameworks/base/libs/ui/InputReader.cpp b/frameworks/base/libs/ui/InputReader.cpp |
b2264797 |
60 | index 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 |
115 | diff --git a/frameworks/base/services/java/com/android/server/PowerManagerService.java b/frameworks/base/services/java/com/android/server/PowerManagerService.java |
116 | index 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 | |
130 | project hardware/libhardware/ |
131 | diff --git a/hardware/libhardware/modules/gralloc/framebuffer.cpp b/hardware/libhardware/modules/gralloc/framebuffer.cpp |
132 | index 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 |
149 | project hardware/libhardware_legacy/ |
150 | diff --git a/hardware/libhardware_legacy/power/power.c b/hardware/libhardware_legacy/power/power.c |
151 | index 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]; |
164 | diff --git a/hardware/libhardware_legacy/wifi/wifi.c b/hardware/libhardware_legacy/wifi/wifi.c |
165 | index 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 |
212 | project hardware/ti/omap3/ |
213 | diff --git a/hardware/ti/omap3/Android.mk b/hardware/ti/omap3/Android.mk |
214 | index 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 |
226 | project packages/providers/MediaProvider/ |
227 | diff --git a/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java b/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java |
228 | index 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 |
244 | project system/core/ |
b2264797 |
245 | diff --git a/system/core/init/devices.c b/system/core/init/devices.c |
246 | index 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 |
259 | diff --git a/system/core/libsysutils/src/NetlinkListener.cpp b/system/core/libsysutils/src/NetlinkListener.cpp |
260 | index 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 | |
290 | project vendor/cyanogen/ |
291 | diff --git a/vendor/cyanogen/products/common.mk b/vendor/cyanogen/products/common.mk |
292 | index 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 += \ |