Use runOnUiThread to process exception

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
camera2
Leo Ma 9 years ago
parent e54db1cd8b
commit 2b83e5656d

@ -7,7 +7,6 @@ import android.hardware.Camera.Size;
import android.media.AudioRecord; import android.media.AudioRecord;
import android.media.MediaRecorder; import android.media.MediaRecorder;
import android.os.Bundle; import android.os.Bundle;
import android.os.Looper;
import android.util.Log; import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
@ -38,8 +37,7 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback, Ca
private byte[] mYuvFrameBuffer; private byte[] mYuvFrameBuffer;
private SrsEncoder mEncoder; private SrsEncoder mEncoder;
private String mErrMsg; private String mIoErrMsg;
// settings storage
private SharedPreferences sp; private SharedPreferences sp;
@Override @Override
@ -130,25 +128,16 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback, Ca
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override @Override
public void uncaughtException(Thread thread, Throwable ex) { public void uncaughtException(Thread thread, Throwable ex) {
Toast.makeText(getApplicationContext(), ex.getLocalizedMessage(), Toast.LENGTH_LONG).show(); mIoErrMsg = ex.getMessage();
} runOnUiThread(new Runnable() {
});
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
mErrMsg = ex.getMessage();
new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
Looper.prepare(); Toast.makeText(getApplicationContext(), mIoErrMsg, Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(), mErrMsg, Toast.LENGTH_SHORT).show(); btnPublish.setEnabled(true);
Looper.loop(); btnStop.setEnabled(false);
stopPublish();
} }
}).start(); });
stopPublish();
btnPublish.setEnabled(true);
btnStop.setEnabled(false);
} }
}); });
} }
@ -310,6 +299,7 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback, Ca
aworker.join(); aworker.join();
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
aworker.interrupt();
} }
aworker = null; aworker = null;
} }

Loading…
Cancel
Save