diff options
| -rw-r--r-- | core/res/res/drawable-hdpi/ic_lock_idle_alarm.png | bin | 1375 -> 1197 bytes | |||
| -rw-r--r-- | core/res/res/drawable-mdpi/ic_lock_idle_alarm.png | bin | 924 -> 786 bytes | |||
| -rw-r--r-- | core/res/res/layout/keyguard_screen_tab_unlock.xml | 14 | ||||
| -rw-r--r-- | core/res/res/layout/keyguard_screen_tab_unlock_land.xml | 12 | ||||
| -rw-r--r-- | include/media/stagefright/HTTPDataSource.h | 2 | ||||
| -rw-r--r-- | media/libstagefright/AwesomePlayer.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/DataSource.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/HTTPDataSource.cpp | 25 |
8 files changed, 51 insertions, 6 deletions
diff --git a/core/res/res/drawable-hdpi/ic_lock_idle_alarm.png b/core/res/res/drawable-hdpi/ic_lock_idle_alarm.png Binary files differindex 41ad27d46ab2..6b4f66d24f80 100644 --- a/core/res/res/drawable-hdpi/ic_lock_idle_alarm.png +++ b/core/res/res/drawable-hdpi/ic_lock_idle_alarm.png diff --git a/core/res/res/drawable-mdpi/ic_lock_idle_alarm.png b/core/res/res/drawable-mdpi/ic_lock_idle_alarm.png Binary files differindex ee7752655f80..d29c6c33283f 100644 --- a/core/res/res/drawable-mdpi/ic_lock_idle_alarm.png +++ b/core/res/res/drawable-mdpi/ic_lock_idle_alarm.png diff --git a/core/res/res/layout/keyguard_screen_tab_unlock.xml b/core/res/res/layout/keyguard_screen_tab_unlock.xml index a4b235756ad9..945d28347cad 100644 --- a/core/res/res/layout/keyguard_screen_tab_unlock.xml +++ b/core/res/res/layout/keyguard_screen_tab_unlock.xml @@ -152,5 +152,19 @@ android:layout_marginBottom="80dip" /> + <!-- emergency call button shown when sim is PUKd and tab_selector is + hidden --> + <Button + android:id="@+id/emergencyCallButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:drawableLeft="@drawable/ic_emergency" + android:layout_centerInParent="true" + android:layout_alignParentBottom="true" + android:layout_marginBottom="80dip" + style="@style/Widget.Button.Transparent" + android:drawablePadding="8dip" + /> + </RelativeLayout> diff --git a/core/res/res/layout/keyguard_screen_tab_unlock_land.xml b/core/res/res/layout/keyguard_screen_tab_unlock_land.xml index e1c9772da284..6b76004ecb33 100644 --- a/core/res/res/layout/keyguard_screen_tab_unlock_land.xml +++ b/core/res/res/layout/keyguard_screen_tab_unlock_land.xml @@ -153,4 +153,16 @@ android:layout_marginRight="80dip" /> + <!-- emergency call button shown when sim is PUKd and tab_selector is + hidden --> + <Button + android:id="@+id/emergencyCallButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:drawableLeft="@drawable/ic_emergency" + style="@style/Widget.Button.Transparent" + android:drawablePadding="8dip" + android:layout_marginRight="80dip" + /> + </LinearLayout> diff --git a/include/media/stagefright/HTTPDataSource.h b/include/media/stagefright/HTTPDataSource.h index b5d1e7a8568c..83be4754e67b 100644 --- a/include/media/stagefright/HTTPDataSource.h +++ b/include/media/stagefright/HTTPDataSource.h @@ -54,7 +54,7 @@ protected: private: enum { - kBufferSize = 32 * 1024, + kBufferSize = 64 * 1024, // If we encounter a socket-read error we'll try reconnecting // and restarting the read for at most this many times. diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index e7022f4b3ade..63dfa67b2e60 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -1091,7 +1091,7 @@ status_t AwesomePlayer::finishSetDataSource_l() { } dataSource = new CachingDataSource( - mConnectingDataSource, 32 * 1024, 20); + mConnectingDataSource, 64 * 1024, 10); mConnectingDataSource.clear(); } else { diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp index 284e3bc47020..86e4bfe83047 100644 --- a/media/libstagefright/DataSource.cpp +++ b/media/libstagefright/DataSource.cpp @@ -105,7 +105,7 @@ sp<DataSource> DataSource::CreateFromURI( if (httpSource->connect() != OK) { return NULL; } - source = new CachingDataSource(httpSource, 32 * 1024, 20); + source = new CachingDataSource(httpSource, 64 * 1024, 10); } else { // Assume it's a filename. source = new FileSource(uri); diff --git a/media/libstagefright/HTTPDataSource.cpp b/media/libstagefright/HTTPDataSource.cpp index 61ffa8ddd164..48f8e7a869af 100644 --- a/media/libstagefright/HTTPDataSource.cpp +++ b/media/libstagefright/HTTPDataSource.cpp @@ -35,7 +35,8 @@ namespace android { // connected. static bool PerformRedirectIfNecessary( HTTPStream *http, const String8 &headers, - string *host, string *path, int *port) { + string *host, string *path, int *port, + status_t *result) { String8 request; request.append("GET "); request.append(path->c_str()); @@ -52,6 +53,8 @@ static bool PerformRedirectIfNecessary( err = http->receive_header(&http_status); } + *result = err; + if (err != OK) { return false; } @@ -181,6 +184,7 @@ status_t HTTPDataSource::connect() { host.c_str(), port, path.c_str()); int numRedirectsRemaining = 5; + status_t result; do { status_t err = mHttp->connect(host.c_str(), port); @@ -194,9 +198,19 @@ status_t HTTPDataSource::connect() { return err; } - } while (PerformRedirectIfNecessary(mHttp, mHeaders, &host, &path, &port) + } while (PerformRedirectIfNecessary( + mHttp, mHeaders, &host, &path, &port, &result) && numRedirectsRemaining-- > 0); + if (result != OK) { + // An error occurred while attempting to follow redirections/connect. + Mutex::Autolock autoLock(mStateLock); + + mState = DISCONNECTED; + + return result; + } + string value; if (mHttp->find_header_value("Content-Length", &value)) { char *end; @@ -282,7 +296,7 @@ ssize_t HTTPDataSource::sendRangeRequest(size_t offset) { char range[128]; if (offset > 0) { - sprintf(range, "Range: bytes=%d-\r\n\r\n", offset); + sprintf(range, "Range: bytes=%d-\r\n", offset); } else { range[0] = '\0'; } @@ -313,6 +327,7 @@ ssize_t HTTPDataSource::sendRangeRequest(size_t offset) { } if ((http_status / 100) != 2) { + LOGE("HTTP request failed, http status = %d", http_status); return UNKNOWN_ERROR; } @@ -349,6 +364,10 @@ rinse_repeat: memcpy(data, (const char *)mBuffer + (offset - mBufferOffset), copy); + if (copy < size) { + LOGV("short read (1), returning %d vs. %d requested", copy, size); + } + return copy; } |