/framework/java/jd-gui/android/content/ContentProviderNative.java

https://bitbucket.org/chaos_rom/miui_frameworks · Java · 240 lines · 229 code · 7 blank · 4 comment · 20 complexity · ccfbbe91c8ca6e9069d40a326361545b MD5 · raw file

  1. package android.content;
  2. import android.content.res.AssetFileDescriptor;
  3. import android.database.BulkCursorDescriptor;
  4. import android.database.Cursor;
  5. import android.database.CursorToBulkCursorAdaptor;
  6. import android.database.DatabaseUtils;
  7. import android.database.IContentObserver;
  8. import android.database.IContentObserver.Stub;
  9. import android.net.Uri;
  10. import android.os.Binder;
  11. import android.os.Bundle;
  12. import android.os.IBinder;
  13. import android.os.ICancellationSignal;
  14. import android.os.ICancellationSignal.Stub;
  15. import android.os.Parcel;
  16. import android.os.ParcelFileDescriptor;
  17. import android.os.Parcelable.Creator;
  18. import android.os.RemoteException;
  19. import java.util.ArrayList;
  20. public abstract class ContentProviderNative extends Binder
  21. implements IContentProvider
  22. {
  23. public ContentProviderNative()
  24. {
  25. attachInterface(this, "android.content.IContentProvider");
  26. }
  27. public static IContentProvider asInterface(IBinder paramIBinder)
  28. {
  29. Object localObject;
  30. if (paramIBinder == null)
  31. localObject = null;
  32. while (true)
  33. {
  34. return localObject;
  35. localObject = (IContentProvider)paramIBinder.queryLocalInterface("android.content.IContentProvider");
  36. if (localObject == null)
  37. localObject = new ContentProviderProxy(paramIBinder);
  38. }
  39. }
  40. public IBinder asBinder()
  41. {
  42. return this;
  43. }
  44. public abstract String getProviderName();
  45. public boolean onTransact(int paramInt1, Parcel paramParcel1, Parcel paramParcel2, int paramInt2)
  46. throws RemoteException
  47. {
  48. boolean bool;
  49. switch (paramInt1)
  50. {
  51. case 5:
  52. case 6:
  53. case 7:
  54. case 8:
  55. case 9:
  56. case 11:
  57. case 12:
  58. case 16:
  59. case 17:
  60. case 18:
  61. case 19:
  62. default:
  63. bool = super.onTransact(paramInt1, paramParcel1, paramParcel2, paramInt2);
  64. case 1:
  65. case 2:
  66. case 3:
  67. case 13:
  68. case 20:
  69. case 4:
  70. case 10:
  71. case 14:
  72. case 15:
  73. case 21:
  74. case 22:
  75. case 23:
  76. case 24:
  77. }
  78. while (true)
  79. {
  80. return bool;
  81. try
  82. {
  83. paramParcel1.enforceInterface("android.content.IContentProvider");
  84. Uri localUri2 = (Uri)Uri.CREATOR.createFromParcel(paramParcel1);
  85. int i1 = paramParcel1.readInt();
  86. String[] arrayOfString2 = null;
  87. if (i1 > 0)
  88. {
  89. arrayOfString2 = new String[i1];
  90. for (int i4 = 0; i4 < i1; i4++)
  91. arrayOfString2[i4] = paramParcel1.readString();
  92. }
  93. String str2 = paramParcel1.readString();
  94. int i2 = paramParcel1.readInt();
  95. String[] arrayOfString3 = null;
  96. if (i2 > 0)
  97. {
  98. arrayOfString3 = new String[i2];
  99. for (int i3 = 0; i3 < i2; i3++)
  100. arrayOfString3[i3] = paramParcel1.readString();
  101. }
  102. String str3 = paramParcel1.readString();
  103. IContentObserver localIContentObserver = IContentObserver.Stub.asInterface(paramParcel1.readStrongBinder());
  104. Cursor localCursor = query(localUri2, arrayOfString2, str2, arrayOfString3, str3, ICancellationSignal.Stub.asInterface(paramParcel1.readStrongBinder()));
  105. if (localCursor != null)
  106. {
  107. BulkCursorDescriptor localBulkCursorDescriptor = new CursorToBulkCursorAdaptor(localCursor, localIContentObserver, getProviderName()).getBulkCursorDescriptor();
  108. paramParcel2.writeNoException();
  109. paramParcel2.writeInt(1);
  110. localBulkCursorDescriptor.writeToParcel(paramParcel2, 1);
  111. }
  112. else
  113. {
  114. paramParcel2.writeNoException();
  115. paramParcel2.writeInt(0);
  116. }
  117. }
  118. catch (Exception localException)
  119. {
  120. DatabaseUtils.writeExceptionToParcel(paramParcel2, localException);
  121. bool = true;
  122. }
  123. continue;
  124. paramParcel1.enforceInterface("android.content.IContentProvider");
  125. String str1 = getType((Uri)Uri.CREATOR.createFromParcel(paramParcel1));
  126. paramParcel2.writeNoException();
  127. paramParcel2.writeString(str1);
  128. bool = true;
  129. continue;
  130. paramParcel1.enforceInterface("android.content.IContentProvider");
  131. Uri localUri1 = insert((Uri)Uri.CREATOR.createFromParcel(paramParcel1), (ContentValues)ContentValues.CREATOR.createFromParcel(paramParcel1));
  132. paramParcel2.writeNoException();
  133. Uri.writeToParcel(paramParcel2, localUri1);
  134. bool = true;
  135. continue;
  136. paramParcel1.enforceInterface("android.content.IContentProvider");
  137. int n = bulkInsert((Uri)Uri.CREATOR.createFromParcel(paramParcel1), (ContentValues[])paramParcel1.createTypedArray(ContentValues.CREATOR));
  138. paramParcel2.writeNoException();
  139. paramParcel2.writeInt(n);
  140. bool = true;
  141. continue;
  142. paramParcel1.enforceInterface("android.content.IContentProvider");
  143. int k = paramParcel1.readInt();
  144. ArrayList localArrayList = new ArrayList(k);
  145. for (int m = 0; m < k; m++)
  146. {
  147. Object localObject = ContentProviderOperation.CREATOR.createFromParcel(paramParcel1);
  148. localArrayList.add(m, localObject);
  149. }
  150. ContentProviderResult[] arrayOfContentProviderResult = applyBatch(localArrayList);
  151. paramParcel2.writeNoException();
  152. paramParcel2.writeTypedArray(arrayOfContentProviderResult, 0);
  153. bool = true;
  154. continue;
  155. paramParcel1.enforceInterface("android.content.IContentProvider");
  156. int j = delete((Uri)Uri.CREATOR.createFromParcel(paramParcel1), paramParcel1.readString(), paramParcel1.readStringArray());
  157. paramParcel2.writeNoException();
  158. paramParcel2.writeInt(j);
  159. bool = true;
  160. continue;
  161. paramParcel1.enforceInterface("android.content.IContentProvider");
  162. int i = update((Uri)Uri.CREATOR.createFromParcel(paramParcel1), (ContentValues)ContentValues.CREATOR.createFromParcel(paramParcel1), paramParcel1.readString(), paramParcel1.readStringArray());
  163. paramParcel2.writeNoException();
  164. paramParcel2.writeInt(i);
  165. bool = true;
  166. continue;
  167. paramParcel1.enforceInterface("android.content.IContentProvider");
  168. ParcelFileDescriptor localParcelFileDescriptor = openFile((Uri)Uri.CREATOR.createFromParcel(paramParcel1), paramParcel1.readString());
  169. paramParcel2.writeNoException();
  170. if (localParcelFileDescriptor != null)
  171. {
  172. paramParcel2.writeInt(1);
  173. localParcelFileDescriptor.writeToParcel(paramParcel2, 1);
  174. }
  175. else
  176. {
  177. paramParcel2.writeInt(0);
  178. break label993;
  179. paramParcel1.enforceInterface("android.content.IContentProvider");
  180. AssetFileDescriptor localAssetFileDescriptor2 = openAssetFile((Uri)Uri.CREATOR.createFromParcel(paramParcel1), paramParcel1.readString());
  181. paramParcel2.writeNoException();
  182. if (localAssetFileDescriptor2 != null)
  183. {
  184. paramParcel2.writeInt(1);
  185. localAssetFileDescriptor2.writeToParcel(paramParcel2, 1);
  186. break label999;
  187. }
  188. paramParcel2.writeInt(0);
  189. break label999;
  190. paramParcel1.enforceInterface("android.content.IContentProvider");
  191. Bundle localBundle = call(paramParcel1.readString(), paramParcel1.readString(), paramParcel1.readBundle());
  192. paramParcel2.writeNoException();
  193. paramParcel2.writeBundle(localBundle);
  194. bool = true;
  195. continue;
  196. paramParcel1.enforceInterface("android.content.IContentProvider");
  197. String[] arrayOfString1 = getStreamTypes((Uri)Uri.CREATOR.createFromParcel(paramParcel1), paramParcel1.readString());
  198. paramParcel2.writeNoException();
  199. paramParcel2.writeStringArray(arrayOfString1);
  200. bool = true;
  201. continue;
  202. paramParcel1.enforceInterface("android.content.IContentProvider");
  203. AssetFileDescriptor localAssetFileDescriptor1 = openTypedAssetFile((Uri)Uri.CREATOR.createFromParcel(paramParcel1), paramParcel1.readString(), paramParcel1.readBundle());
  204. paramParcel2.writeNoException();
  205. if (localAssetFileDescriptor1 != null)
  206. {
  207. paramParcel2.writeInt(1);
  208. localAssetFileDescriptor1.writeToParcel(paramParcel2, 1);
  209. break label1005;
  210. }
  211. paramParcel2.writeInt(0);
  212. break label1005;
  213. paramParcel1.enforceInterface("android.content.IContentProvider");
  214. ICancellationSignal localICancellationSignal = createCancellationSignal();
  215. paramParcel2.writeNoException();
  216. paramParcel2.writeStrongBinder(localICancellationSignal.asBinder());
  217. bool = true;
  218. continue;
  219. bool = true;
  220. continue;
  221. }
  222. label993: bool = true;
  223. continue;
  224. label999: bool = true;
  225. continue;
  226. label1005: bool = true;
  227. }
  228. }
  229. }
  230. /* Location: /home/lithium/miui/chameleon/2.11.16/framework_dex2jar.jar
  231. * Qualified Name: android.content.ContentProviderNative
  232. * JD-Core Version: 0.6.2
  233. */