107 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package android.support.v4.os;
 | |
| 
 | |
| import android.os.Bundle;
 | |
| import android.os.Handler;
 | |
| import android.os.Parcel;
 | |
| import android.os.Parcelable;
 | |
| import android.os.RemoteException;
 | |
| import android.support.v4.os.IResultReceiver;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| public class ResultReceiver implements Parcelable {
 | |
|     public static final Parcelable.Creator<ResultReceiver> CREATOR = new Parcelable.Creator<ResultReceiver>() { // from class: android.support.v4.os.ResultReceiver.1
 | |
|         /* JADX WARN: Can't rename method to resolve collision */
 | |
|         @Override // android.os.Parcelable.Creator
 | |
|         public ResultReceiver createFromParcel(Parcel parcel) {
 | |
|             return new ResultReceiver(parcel);
 | |
|         }
 | |
| 
 | |
|         /* JADX WARN: Can't rename method to resolve collision */
 | |
|         @Override // android.os.Parcelable.Creator
 | |
|         public ResultReceiver[] newArray(int i) {
 | |
|             return new ResultReceiver[i];
 | |
|         }
 | |
|     };
 | |
|     final Handler mHandler;
 | |
|     final boolean mLocal;
 | |
|     IResultReceiver mReceiver;
 | |
| 
 | |
|     @Override // android.os.Parcelable
 | |
|     public int describeContents() {
 | |
|         return 0;
 | |
|     }
 | |
| 
 | |
|     protected void onReceiveResult(int i, Bundle bundle) {
 | |
|     }
 | |
| 
 | |
|     class MyRunnable implements Runnable {
 | |
|         final int mResultCode;
 | |
|         final Bundle mResultData;
 | |
| 
 | |
|         MyRunnable(int i, Bundle bundle) {
 | |
|             this.mResultCode = i;
 | |
|             this.mResultData = bundle;
 | |
|         }
 | |
| 
 | |
|         @Override // java.lang.Runnable
 | |
|         public void run() {
 | |
|             ResultReceiver.this.onReceiveResult(this.mResultCode, this.mResultData);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     class MyResultReceiver extends IResultReceiver.Stub {
 | |
|         MyResultReceiver() {
 | |
|         }
 | |
| 
 | |
|         @Override // android.support.v4.os.IResultReceiver
 | |
|         public void send(int i, Bundle bundle) {
 | |
|             if (ResultReceiver.this.mHandler != null) {
 | |
|                 ResultReceiver.this.mHandler.post(ResultReceiver.this.new MyRunnable(i, bundle));
 | |
|             } else {
 | |
|                 ResultReceiver.this.onReceiveResult(i, bundle);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public ResultReceiver(Handler handler) {
 | |
|         this.mLocal = true;
 | |
|         this.mHandler = handler;
 | |
|     }
 | |
| 
 | |
|     public void send(int i, Bundle bundle) {
 | |
|         if (this.mLocal) {
 | |
|             Handler handler = this.mHandler;
 | |
|             if (handler != null) {
 | |
|                 handler.post(new MyRunnable(i, bundle));
 | |
|                 return;
 | |
|             } else {
 | |
|                 onReceiveResult(i, bundle);
 | |
|                 return;
 | |
|             }
 | |
|         }
 | |
|         IResultReceiver iResultReceiver = this.mReceiver;
 | |
|         if (iResultReceiver != null) {
 | |
|             try {
 | |
|                 iResultReceiver.send(i, bundle);
 | |
|             } catch (RemoteException unused) {
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // android.os.Parcelable
 | |
|     public void writeToParcel(Parcel parcel, int i) {
 | |
|         synchronized (this) {
 | |
|             if (this.mReceiver == null) {
 | |
|                 this.mReceiver = new MyResultReceiver();
 | |
|             }
 | |
|             parcel.writeStrongBinder(this.mReceiver.asBinder());
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     ResultReceiver(Parcel parcel) {
 | |
|         this.mLocal = false;
 | |
|         this.mHandler = null;
 | |
|         this.mReceiver = IResultReceiver.Stub.asInterface(parcel.readStrongBinder());
 | |
|     }
 | |
| }
 |