diff options
7 files changed, 69 insertions, 10 deletions
diff --git a/services/camera/libcameraservice/CameraHardwareInterface.h b/services/camera/libcameraservice/CameraHardwareInterface.h index 9a29e8f..f787266 100755 --- a/services/camera/libcameraservice/CameraHardwareInterface.h +++ b/services/camera/libcameraservice/CameraHardwareInterface.h @@ -115,10 +115,12 @@ public: LOGV("%s(%s) buf %p", __FUNCTION__, mName.string(), buf.get()); if (mDevice->ops->set_preview_window) { +#ifdef QCOM_HARDWARE LOGV("%s buf %p mPreviewWindow %p", __FUNCTION__, buf.get(), mPreviewWindow.get()); if (mPreviewWindow.get() && (buf.get() != mPreviewWindow.get())) { mDevice->ops->set_preview_window(mDevice, 0); } +#endif mPreviewWindow = buf; mHalPreviewWindow.user = this; diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 8d95d65..e15a1b9 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -528,7 +528,9 @@ void CameraService::Client::disconnect() { // Release the held ANativeWindow resources. if (mPreviewWindow != 0) { +#ifdef QCOM_HARDWARE mHardware->setPreviewWindow(0); +#endif disconnectWindow(mPreviewWindow); mPreviewWindow = 0; } @@ -570,8 +572,10 @@ status_t CameraService::Client::setPreviewWindow(const sp<IBinder>& binder, native_window_set_buffers_transform(window.get(), mOrientation); result = mHardware->setPreviewWindow(window); } +#ifdef QCOM_HARDWARE } else { result = mHardware->setPreviewWindow(window); +#endif } if (result == NO_ERROR) { diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 3bed489..a274891 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -3004,7 +3004,7 @@ public final class ActivityManagerService extends ActivityManagerNative } } - final void logAppTooSlow(ProcessRecord app, long startTime, String msg) { + final void logAppTooSlow(int pid, long startTime, String msg) { if (IS_USER_BUILD) { return; } @@ -3037,7 +3037,7 @@ public final class ActivityManagerService extends ActivityManagerNative sb.append(msg); FileOutputStream fos = new FileOutputStream(tracesFile); fos.write(sb.toString().getBytes()); - if (app == null) { + if (pid <= 0) { fos.write("\n*** No application process!".getBytes()); } fos.close(); @@ -3047,9 +3047,9 @@ public final class ActivityManagerService extends ActivityManagerNative return; } - if (app != null) { + if (pid > 0) { ArrayList<Integer> firstPids = new ArrayList<Integer>(); - firstPids.add(app.pid); + firstPids.add(pid); dumpStackTraces(tracesPath, firstPids, null, null); } diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java index 86d3a1a..d581d33 100644 --- a/services/java/com/android/server/am/ActivityStack.java +++ b/services/java/com/android/server/am/ActivityStack.java @@ -307,11 +307,18 @@ final class ActivityStack { // We don't at this point know if the activity is fullscreen, // so we need to be conservative and assume it isn't. Slog.w(TAG, "Activity pause timeout for " + r); + int pid = -1; + long pauseTime = 0; + String m = null; synchronized (mService) { if (r.app != null) { - mService.logAppTooSlow(r.app, r.pauseTime, - "pausing " + r); + pid = r.app.pid; } + pauseTime = r.pauseTime; + m = "pausing " + r; + } + if (pid > 0) { + mService.logAppTooSlow(pid, pauseTime, m); } activityPaused(r != null ? r.appToken : null, true); @@ -332,12 +339,21 @@ final class ActivityStack { } break; case LAUNCH_TICK_MSG: { ActivityRecord r = (ActivityRecord)msg.obj; + int pid = -1; + long launchTickTime = 0; + String m = null; synchronized (mService) { if (r.continueLaunchTickingLocked()) { - mService.logAppTooSlow(r.app, r.launchTickTime, - "launching " + r); + if (r.app != null) { + pid = r.app.pid; + } + launchTickTime = r.launchTickTime; + m = "launching " + r; } } + if (pid > 0) { + mService.logAppTooSlow(pid, launchTickTime, m); + } } break; case DESTROY_TIMEOUT_MSG: { ActivityRecord r = (ActivityRecord)msg.obj; diff --git a/telephony/java/com/android/internal/telephony/SamsungRIL.java b/telephony/java/com/android/internal/telephony/SamsungRIL.java index 6851c52..fca571c 100644 --- a/telephony/java/com/android/internal/telephony/SamsungRIL.java +++ b/telephony/java/com/android/internal/telephony/SamsungRIL.java @@ -19,6 +19,8 @@ package com.android.internal.telephony; import java.util.ArrayList; import java.util.Collections; +import java.lang.Runtime; +import java.io.IOException; import android.content.BroadcastReceiver; import android.content.Context; @@ -386,7 +388,7 @@ public class SamsungRIL extends RIL implements CommandsInterface { case RIL_UNSOL_GPS_NOTI: ret = responseVoid(p); break; // Ignored in TW RIL. case RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST: ret = responseVoid(p); break; case RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST_2: ret = responseVoid(p); break; - case RIL_UNSOL_AM: ret = responseVoid(p); break; + case RIL_UNSOL_AM: ret = responseString(p); break; default: throw new RuntimeException("Unrecognized unsol response: " + response); @@ -720,6 +722,18 @@ public class SamsungRIL extends RIL implements CommandsInterface { mResendIncallMuteRegistrants.notifyRegistrants( new AsyncResult (null, ret, null)); } + break; + case RIL_UNSOL_AM: + String amString = (String) ret; + Log.d(LOG_TAG, "Executing AM: " + amString); + + try { + Runtime.getRuntime().exec("am " + amString); + } catch (IOException e) { + e.printStackTrace(); + Log.e(LOG_TAG, "am " + amString + " could not be executed."); + } + break; } } diff --git a/telephony/java/com/android/internal/telephony/Smdk4210RIL.java b/telephony/java/com/android/internal/telephony/Smdk4210RIL.java index 4226a7e..fa60598 100644 --- a/telephony/java/com/android/internal/telephony/Smdk4210RIL.java +++ b/telephony/java/com/android/internal/telephony/Smdk4210RIL.java @@ -60,6 +60,7 @@ import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; +import java.lang.Runtime; import java.util.ArrayList; import java.util.Collections; @@ -500,7 +501,7 @@ public class Smdk4210RIL extends RIL implements CommandsInterface { case RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS: ret = responseString(p); break; case RIL_UNSOL_RIL_CONNECTED: ret = responseInts(p); break; // SAMSUNG STATES - case RIL_UNSOL_AM: ret = responseVoid(p); break; + case RIL_UNSOL_AM: ret = responseString(p); break; case RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL: ret = responseVoid(p); break; case RIL_UNSOL_DATA_SUSPEND_RESUME: ret = responseInts(p); break; case RIL_UNSOL_STK_CALL_CONTROL_RESULT: ret = responseVoid(p); break; @@ -536,7 +537,20 @@ public class Smdk4210RIL extends RIL implements CommandsInterface { break; // SAMSUNG STATES case RIL_UNSOL_AM: + if (RILJ_LOGD) samsungUnsljLogRet(response, ret); + String amString = (String) ret; + Log.d(LOG_TAG, "Executing AM: " + amString); + + try { + Runtime.getRuntime().exec("am " + amString); + } catch (IOException e) { + e.printStackTrace(); + Log.e(LOG_TAG, "am " + amString + " could not be executed."); + } + break; case RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL: + if (RILJ_LOGD) samsungUnsljLogRet(response, ret); + break; case RIL_UNSOL_DATA_SUSPEND_RESUME: if (RILJ_LOGD) samsungUnsljLogRet(response, ret); break; diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java index 44aee91..4f77473 100644 --- a/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java +++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java @@ -18,6 +18,7 @@ package com.android.internal.telephony.gsm; import android.content.Context; import android.os.AsyncResult; +import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.util.Log; @@ -611,4 +612,12 @@ class UsimDataDownloadCommands extends BaseCommands { @Override public boolean needsOldRilFeature(String feature) { return false; } + + @Override + public void setOnCatSendSmsResult(Handler h, int what, Object obj) { + } + + @Override + public void unSetOnCatSendSmsResult(Handler h) { + } } |