ADD week 5
This commit is contained in:
		
							
								
								
									
										106
									
								
								02-Easy5/E5/sources/android/support/v4/os/ResultReceiver.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								02-Easy5/E5/sources/android/support/v4/os/ResultReceiver.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,106 @@ | ||||
| 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()); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user