Offset 1, 32 lines modifiedOffset 1, 31 lines modified
  
1 package·com.android.providers.media;1 package·com.android.providers.media;
  
2 import·java.util.concurrent.Executor;2 import·java.util.concurrent.Executor;
3 import·java.util.HashMap; 
4 import·com.android.providers.media.util.BackgroundThread;3 import·com.android.providers.media.util.BackgroundThread;
5 import·android.util.DisplayMetrics;4 import·android.util.DisplayMetrics;
6 import·android.os.storage.StorageManager$StorageVolumeCallback;5 import·android.os.storage.StorageManager$StorageVolumeCallback;
7 import·android.content.IntentFilter;6 import·android.content.IntentFilter;
8 import·android.provider.Column;7 import·android.provider.Column;
9 import·com.android.providers.media.scan.ModernMediaScanner;8 import·com.android.providers.media.scan.ModernMediaScanner;
10 import·java.io.PrintWriter;9 import·java.io.PrintWriter;
11 import·java.io.FileDescriptor;10 import·java.io.FileDescriptor;
12 import·com.android.providers.media.util.ForegroundThread;11 import·com.android.providers.media.util.ForegroundThread;
 12 import·android.database.ContentObserver;
13 import·android.content.pm.ProviderInfo;13 import·android.content.pm.ProviderInfo;
14 import·android.content.ContentProviderResult;14 import·android.content.ContentProviderResult;
15 import·android.graphics.BitmapFactory;15 import·android.graphics.BitmapFactory;
16 import·android.graphics.BitmapFactory$Options;16 import·android.graphics.BitmapFactory$Options;
17 import·java.util.regex.Matcher;17 import·java.util.regex.Matcher;
18 import·android.database.MatrixCursor;18 import·android.database.MatrixCursor;
19 import·android.content.res.AssetFileDescriptor;19 import·android.content.res.AssetFileDescriptor;
 20 import·android.database.sqlite.SQLiteConstraintException;
20 import·android.app.DownloadManager;21 import·android.app.DownloadManager;
21 import·android.content.pm.PackageInstaller$SessionInfo;22 import·android.content.pm.PackageInstaller$SessionInfo;
22 import·java.lang.reflect.Method; 
23 import·java.lang.reflect.InvocationTargetException; 
24 import·java.io.OutputStream;23 import·java.io.OutputStream;
25 import·android.os.Process;24 import·android.os.Process;
26 import·com.android.providers.media.util.Logging;25 import·com.android.providers.media.util.Logging;
27 import·android.content.pm.ApplicationInfo;26 import·android.content.pm.ApplicationInfo;
28 import·android.content.res.Configuration;27 import·android.content.res.Configuration;
29 import·android.content.res.Resources;28 import·android.content.res.Resources;
30 import·java.util.Locale;29 import·java.util.Locale;
Offset 34, 15 lines modifiedOffset 33, 16 lines modified
34 import·com.android.providers.media.util.XmpInterface;33 import·com.android.providers.media.util.XmpInterface;
35 import·android.media.ExifInterface;34 import·android.media.ExifInterface;
36 import·java.io.FileInputStream;35 import·java.io.FileInputStream;
37 import·android.provider.MediaStore$Video$Thumbnails;36 import·android.provider.MediaStore$Video$Thumbnails;
38 import·android.provider.MediaStore$Audio$Genres$Members;37 import·android.provider.MediaStore$Audio$Genres$Members;
39 import·android.provider.MediaStore$Files$FileColumns;38 import·android.provider.MediaStore$Files$FileColumns;
40 import·android.provider.MediaStore$Audio$Thumbnails;39 import·android.provider.MediaStore$Audio$Thumbnails;
41 import·android.os.Build$VERSION;40 import·android.provider.MediaStore$Audio$Artists$Albums;
 41 import·android.os.UserHandle;
42 import·com.android.providers.media.fuse.ExternalStorageServiceImpl;42 import·com.android.providers.media.fuse.ExternalStorageServiceImpl;
43 import·com.android.providers.media.fuse.FuseDaemon;43 import·com.android.providers.media.fuse.FuseDaemon;
44 import·android.content.pm.PermissionGroupInfo;44 import·android.content.pm.PermissionGroupInfo;
45 import·android.content.pm.PackageManager$NameNotFoundException;45 import·android.content.pm.PackageManager$NameNotFoundException;
46 import·com.android.providers.media.util.PermissionUtils;46 import·com.android.providers.media.util.PermissionUtils;
47 import·java.util.Optional;47 import·java.util.Optional;
48 import·android.os.ParcelFileDescriptor;48 import·android.os.ParcelFileDescriptor;
Offset 56, 96 lines modifiedOffset 56, 90 lines modified
56 import·android.preference.PreferenceManager;56 import·android.preference.PreferenceManager;
57 import·android.database.sqlite.SQLiteDatabase;57 import·android.database.sqlite.SQLiteDatabase;
58 import·android.icu.util.ULocale;58 import·android.icu.util.ULocale;
59 import·android.graphics.drawable.Icon;59 import·android.graphics.drawable.Icon;
60 import·android.app.RecoverableSecurityException;60 import·android.app.RecoverableSecurityException;
61 import·android.app.RemoteAction;61 import·android.app.RemoteAction;
62 import·android.content.ContentResolver;62 import·android.content.ContentResolver;
63 import·java.util.function.Function;63 import·android.os.Trace;
64 import·android.os.SystemClock;64 import·android.os.SystemClock;
65 import·android.database.ContentObserver; 
66 import·com.android.providers.media.util.Metrics;65 import·com.android.providers.media.util.Metrics;
 66 import·java.util.function.Function;
67 import·android.util.LongSparseArray;67 import·android.util.LongSparseArray;
68 import·android.os.Binder;68 import·android.os.Binder;
 69 import·android.util.Log;
69 import·android.content.Intent;70 import·android.content.Intent;
70 import·android.app.PendingIntent;71 import·android.app.PendingIntent;
71 import·java.util.Iterator;72 import·java.util.Iterator;
72 import·android.net.Uri$Builder;73 import·android.net.Uri$Builder;
73 import·java.util.Objects;74 import·java.util.Objects;
74 import·com.google.common.hash.HashFunction;75 import·com.google.common.hash.HashFunction;
75 import·java.nio.charset.StandardCharsets;76 import·java.nio.charset.StandardCharsets;
76 import·com.google.common.hash.Hashing;77 import·com.google.common.hash.Hashing;
 78 import·java.util.List;
77 import·android.content.ClipData;79 import·android.content.ClipData;
78 import·android.system.StructStat;80 import·android.system.StructStat;
79 import·android.system.ErrnoException;81 import·android.system.ErrnoException;
 82 import·java.io.FileNotFoundException;
80 import·android.system.Os;83 import·android.system.Os;
81 import·android.system.OsConstants;84 import·android.system.OsConstants;
82 import·java.io.FileNotFoundException; 
83 import·android.util.Log; 
84 import·android.content.Context;85 import·android.content.Context;
85 import·android.os.Bundle;86 import·android.os.Bundle;
86 import·android.database.sqlite.SQLiteConstraintException; 
87 import·android.os.Trace; 
88 import·android.provider.MediaStore$Audio;87 import·android.provider.MediaStore$Audio;
89 import·android.text.TextUtils;88 import·android.text.TextUtils;
90 import·com.android.providers.media.util.DatabaseUtils;89 import·com.android.providers.media.util.DatabaseUtils;
91 import·com.android.providers.media.util.SQLiteQueryBuilder;90 import·com.android.providers.media.util.SQLiteQueryBuilder;
92 import·android.database.Cursor;91 import·android.database.Cursor;
93 import·android.content.ContentUris; 
94 import·java.nio.file.Path;92 import·java.nio.file.Path;
95 import·java.io.IOException;93 import·java.io.IOException;
 94 import·android.provider.MediaStore$Audio$Playlists$Members;
 95 import·android.content.ContentUris;
96 import·com.android.providers.media.playlist.Playlist;96 import·com.android.providers.media.playlist.Playlist;
97 import·android.os.CancellationSignal;97 import·android.os.CancellationSignal;
98 import·android.provider.MediaStore;98 import·android.provider.MediaStore;
99 import·android.content.ContentValues;99 import·android.content.ContentValues;
100 import·java.io.File; 
101 import·android.net.Uri;100 import·android.net.Uri;
 101 import·java.io.File;
102 import·android.provider.MediaStore$Downloads;102 import·android.provider.MediaStore$Downloads;
103 import·android.provider.MediaStore$Files;103 import·android.provider.MediaStore$Files;
104 import·android.provider.MediaStore$Images$Media;104 import·android.provider.MediaStore$Images$Media;
105 import·android.provider.MediaStore$Audio$Albums;105 import·android.provider.MediaStore$Audio$Albums;
106 import·android.provider.MediaStore$Audio$Artists;106 import·android.provider.MediaStore$Audio$Artists;
107 import·android.provider.MediaStore$Audio$Playlists;107 import·android.provider.MediaStore$Audio$Playlists;
108 import·android.provider.MediaStore$Audio$Genres;108 import·android.provider.MediaStore$Audio$Genres;
109 import·android.provider.MediaStore$Audio$Media;109 import·android.provider.MediaStore$Audio$Media;
110 import·android.provider.MediaStore$Video$Media;110 import·android.provider.MediaStore$Video$Media;
111 import·android.provider.MediaStore$Audio$Playlists$Members; 
112 import·java.util.function.Consumer;111 import·java.util.function.Consumer;
113 import·android.os.Environment;112 import·android.os.Environment;
114 import·java.util.function.Supplier;113 import·java.util.function.Supplier;
115 import·java.util.Collection;114 import·java.util.Collection;
116 import·java.util.Arrays;115 import·java.util.Arrays;
117 import·android.os.UserHandle; 
118 import·android.os.SystemProperties; 
119 import·com.android.providers.media.util.FileUtils;116 import·com.android.providers.media.util.FileUtils;
120 import·android.os.Binder$ProxyTransactListener;117 import·android.os.Binder$ProxyTransactListener;
121 import·android.util.Size;118 import·android.util.Size;
122 import·android.os.storage.StorageManager;119 import·android.os.storage.StorageManager;
123 import·com.android.providers.media.util.LongArray;120 import·com.android.providers.media.util.LongArray;
124 import·android.content.BroadcastReceiver;121 import·android.content.BroadcastReceiver;
125 import·android.content.pm.PackageManager;122 import·android.content.pm.PackageManager;
126 import·java.util.List; 
127 import·android.app.AppOpsManager$OnOpChangedListener;123 import·android.app.AppOpsManager$OnOpChangedListener;
128 import·com.android.providers.media.scan.MediaScanner;124 import·com.android.providers.media.scan.MediaScanner;
129 import·java.util.function.UnaryOperator;125 import·java.util.function.UnaryOperator;
130 import·android.app.admin.DevicePolicyManager; 
131 import·android.util.SparseArray;126 import·android.util.SparseArray;
132 import·android.app.AppOpsManager;127 import·android.app.AppOpsManager;
133 import·android.app.AppOpsManager$OnOpActiveChangedListener;128 import·android.app.AppOpsManager$OnOpActiveChangedListener;
134 import·android.util.ArraySet;129 import·android.util.ArraySet;
135 import·java.util.ArrayList;130 import·java.util.ArrayList;
136 import·java.util.Map;131 import·java.util.Map;
137 import·android.util.ArrayMap;132 import·android.util.ArrayMap;
138 import·java.util.Set;133 import·java.util.Set;
139 import·java.util.regex.Pattern;134 import·java.util.regex.Pattern;
140 import·android.content.ContentProvider;135 import·android.content.ContentProvider;
  
141 public·class·MediaProvider·extends·ContentProvider136 public·class·MediaProvider·extends·ContentProvider
142 {137 {
143 ····private·static·final·String·ALL_VOLUMES·=·"all_volumes"; 
144 ····static·final·int·AUDIO_ALBUMART·=·119;138 ····static·final·int·AUDIO_ALBUMART·=·119;
145 ····static·final·int·AUDIO_ALBUMART_FILE_ID·=·121;139 ····static·final·int·AUDIO_ALBUMART_FILE_ID·=·121;
146 ····static·final·int·AUDIO_ALBUMART_ID·=·120;140 ····static·final·int·AUDIO_ALBUMART_ID·=·120;
147 ····static·final·int·AUDIO_ALBUMS·=·116;141 ····static·final·int·AUDIO_ALBUMS·=·116;
148 ····static·final·int·AUDIO_ALBUMS_ID·=·117;142 ····static·final·int·AUDIO_ALBUMS_ID·=·117;
149 ····static·final·int·AUDIO_ARTISTS·=·114;143 ····static·final·int·AUDIO_ARTISTS·=·114;
150 ····static·final·int·AUDIO_ARTISTS_ID·=·115;144 ····static·final·int·AUDIO_ARTISTS_ID·=·115;
Offset 175, 15 lines modifiedOffset 169, 14 lines modified
175 ····private·static·final·String·DIRECTORY_NOTIFICATIONS·=·"Notifications";169 ····private·static·final·String·DIRECTORY_NOTIFICATIONS·=·"Notifications";
176 ····private·static·final·String·DIRECTORY_PICTURES·=·"Pictures";170 ····private·static·final·String·DIRECTORY_PICTURES·=·"Pictures";
177 ····private·static·final·String·DIRECTORY_PODCASTS·=·"Podcasts";171 ····private·static·final·String·DIRECTORY_PODCASTS·=·"Podcasts";
178 ····private·static·final·String·DIRECTORY_RINGTONES·=·"Ringtones";172 ····private·static·final·String·DIRECTORY_RINGTONES·=·"Ringtones";
179 ····private·static·final·String·DIRECTORY_THUMBNAILS·=·".thumbnails";173 ····private·static·final·String·DIRECTORY_THUMBNAILS·=·".thumbnails";
180 ····static·final·int·DOWNLOADS·=·800;174 ····static·final·int·DOWNLOADS·=·800;
181 ····static·final·int·DOWNLOADS_ID·=·801;175 ····static·final·int·DOWNLOADS_ID·=·801;
182 ····private·static·final·String·DOWNLOADS_PROVIDER_AUTHORITY·=·"downloads"; 
183 ····static·final·int·FILES·=·700;176 ····static·final·int·FILES·=·700;
184 ····static·final·int·FILES_ID·=·701;177 ····static·final·int·FILES_ID·=·701;
185 ····private·static·final·String·FILE_DATABASE_UUID·=·".database_uuid";178 ····private·static·final·String·FILE_DATABASE_UUID·=·".database_uuid";
186 ····static·final·int·FS_ID·=·600;179 ····static·final·int·FS_ID·=·600;
187 ····private·static·final·String·ID_NOT_PARENT_CLAUSE·=·"_id·NOT·IN·(SELECT·parent·FROM·files·WHERE·parent·IS·NOT·NULL)";180 ····private·static·final·String·ID_NOT_PARENT_CLAUSE·=·"_id·NOT·IN·(SELECT·parent·FROM·files·WHERE·parent·IS·NOT·NULL)";
188 ····static·final·int·IMAGES_MEDIA·=·1;181 ····static·final·int·IMAGES_MEDIA·=·1;
189 ····static·final·int·IMAGES_MEDIA_ID·=·2;182 ····static·final·int·IMAGES_MEDIA_ID·=·2;
Offset 191, 19 lines modifiedOffset 184, 16 lines modified
191 ····static·final·int·IMAGES_THUMBNAILS·=·4;184 ····static·final·int·IMAGES_THUMBNAILS·=·4;
192 ····static·final·int·IMAGES_THUMBNAILS_ID·=·5;185 ····static·final·int·IMAGES_THUMBNAILS_ID·=·5;
193 ····private·static·final·String·INCLUDED_DEFAULT_DIRECTORIES·=·"android:included-default-directories";186 ····private·static·final·String·INCLUDED_DEFAULT_DIRECTORIES·=·"android:included-default-directories";
194 ····private·static·final·String·MATCH_PENDING_FROM_FUSE;187 ····private·static·final·String·MATCH_PENDING_FROM_FUSE;
195 ····private·static·final·int·MATCH_VISIBLE_FOR_FILEPATH·=·32;188 ····private·static·final·int·MATCH_VISIBLE_FOR_FILEPATH·=·32;
196 ····static·final·int·MEDIA_SCANNER·=·500;189 ····static·final·int·MEDIA_SCANNER·=·500;
197 ····public·static·final·DatabaseHelper$OnLegacyMigrationListener·MIGRATION_LISTENER;190 ····public·static·final·DatabaseHelper$OnLegacyMigrationListener·MIGRATION_LISTENER;
198 ····private·static·final·int·NON_HIDDEN_CACHE_SIZE·=·50; 
199 ····private·static·final·String[]·PATH_PROJECTION;191 ····private·static·final·String[]·PATH_PROJECTION;
200 ····static·final·Pattern·PATTERN_SELECTION_ID;192 ····static·final·Pattern·PATTERN_SELECTION_ID;
201 ····private·static·final·int·PER_USER_RANGE·=·100000; 
202 ····private·static·final·boolean·PROP_CROSS_USER_ALLOWED·=·false; 
203 ····private·static·final·String·PROP_FUSE·=·"persist.sys.fuse";193 ····private·static·final·String·PROP_FUSE·=·"persist.sys.fuse";
204 ····private·static·final·String[]·REDACTED_EXIF_TAGS;194 ····private·static·final·String[]·REDACTED_EXIF_TAGS;
205 ····private·static·final·int[]·REDACTED_ISO_BOXES;195 ····private·static·final·int[]·REDACTED_ISO_BOXES;
206 ····private·static·final·int·TYPE_DELETE·=·3;196 ····private·static·final·int·TYPE_DELETE·=·3;
207 ····private·static·final·int·TYPE_INSERT·=·1;197 ····private·static·final·int·TYPE_INSERT·=·1;
208 ····private·static·final·int·TYPE_QUERY·=·0;198 ····private·static·final·int·TYPE_QUERY·=·0;
209 ····private·static·final·int·TYPE_UPDATE·=·2;199 ····private·static·final·int·TYPE_UPDATE·=·2;
Offset 222, 37 lines modifiedOffset 212, 31 lines modified
222 ····private·static·final·Map·sCachedVolumeScanPaths;212 ····private·static·final·Map·sCachedVolumeScanPaths;
223 ····private·static·final·ArrayMap·sDataColumns;213 ····private·static·final·ArrayMap·sDataColumns;
224 ····private·static·final·String[]·sDataOnlyColumn;214 ····private·static·final·String[]·sDataOnlyColumn;
225 ····static·final·ArrayList·sGreylist;215 ····static·final·ArrayList·sGreylist;
226 ····private·static·final·ArraySet·sMutableColumns;216 ····private·static·final·ArraySet·sMutableColumns;
227 ····private·static·final·ArraySet·sPlacementColumns;217 ····private·static·final·ArraySet·sPlacementColumns;
228 ····public·static·final·Set·sRedactedExifTags;218 ····public·static·final·Set·sRedactedExifTags;
229 ····private·static·final·int·sUserId; 
230 ····private·final·AppOpsManager$OnOpActiveChangedListener·mActiveListener;219 ····private·final·AppOpsManager$OnOpActiveChangedListener·mActiveListener;
231 ····private·AppOpsManager·mAppOpsManager;220 ····private·AppOpsManager·mAppOpsManager;
232 ····private·final·ArraySet·mAttachedVolumeNames;221 ····private·final·ArraySet·mAttachedVolumeNames;
233 ····private·MediaProvider$Thumbnailer·mAudioThumbnailer;222 ····private·MediaProvider$Thumbnailer·mAudioThumbnailer;
234 ····private·final·SparseArray·mCachedCallingIdentity;223 ····private·final·SparseArray·mCachedCallingIdentity;
235 ····private·final·SparseArray·mCachedCallingIdentityForFuse;224 ····private·final·SparseArray·mCachedCallingIdentityForFuse;
236 ····private·final·ThreadLocal·mCallingIdentity;225 ····private·final·ThreadLocal·mCallingIdentity;
237 ····private·final·ArraySet·mCustomCollators;226 ····private·final·ArraySet·mCustomCollators;
238 ····private·DevicePolicyManager·mDevicePolicyManager; 
239 ····private·final·ArrayMap·mDirectoryCache;227 ····private·final·ArrayMap·mDirectoryCache;
240 ····private·int·mDownloadsAuthorityAppId; 
241 ····private·DatabaseHelper·mExternalDatabase;228 ····private·DatabaseHelper·mExternalDatabase;
242 ····private·int·mExternalStorageAuthorityAppId; 
243 ····private·final·DatabaseHelper$OnFilesChangeListener·mFilesListener;229 ····private·final·DatabaseHelper$OnFilesChangeListener·mFilesListener;
244 ····private·final·UnaryOperator·mIdGenerator;230 ····private·final·UnaryOperator·mIdGenerator;
245 ····private·MediaProvider$Thumbnailer·mImageThumbnailer;231 ····private·MediaProvider$Thumbnailer·mImageThumbnailer;
246 ····private·DatabaseHelper·mInternalDatabase;232 ····private·DatabaseHelper·mInternalDatabase;
247 ····private·MediaScanner·mMediaScanner;233 ····private·MediaScanner·mMediaScanner;
248 ····private·String·mMediaScannerVolume;234 ····private·String·mMediaScannerVolume;
249 ····private·AppOpsManager$OnOpChangedListener·mModeListener;235 ····private·AppOpsManager$OnOpChangedListener·mModeListener;
250 ····private·final·MediaProvider$LRUCache·mNonHiddenPaths; 
251 ····private·final·List·mNonWorkProfileUsers; 
252 ····private·PackageManager·mPackageManager;236 ····private·PackageManager·mPackageManager;
253 ····private·BroadcastReceiver·mPackageReceiver;237 ····private·BroadcastReceiver·mPackageReceiver;
254 ····private·final·LongArray·mShouldRedactThreadIds;238 ····private·final·LongArray·mShouldRedactThreadIds;
255 ····private·StorageManager·mStorageManager;239 ····private·StorageManager·mStorageManager;
256 ····private·Size·mThumbSize;240 ····private·Size·mThumbSize;
257 ····private·final·Binder$ProxyTransactListener·mTransactListener;241 ····private·final·Binder$ProxyTransactListener·mTransactListener;
258 ····private·MediaProvider$LocalUriMatcher·mUriMatcher;242 ····private·MediaProvider$LocalUriMatcher·mUriMatcher;
Offset 268, 15 lines modifiedOffset 252, 14 lines modified
268 ········MATCH_PENDING_FROM_FUSE·=·String.format("lower(%s)·NOT·REGEXP·'%s'",·args);252 ········MATCH_PENDING_FROM_FUSE·=·String.format("lower(%s)·NOT·REGEXP·'%s'",·args);
269 ········sDataColumns·=·new·ArrayMap();253 ········sDataColumns·=·new·ArrayMap();
270 ········sCacheLock·=·new·Object();254 ········sCacheLock·=·new·Object();
271 ········sCachedExternalVolumeNames·=·(Set)new·ArraySet();255 ········sCachedExternalVolumeNames·=·(Set)new·ArraySet();
272 ········sCachedVolumePaths·=·(Map)new·ArrayMap();256 ········sCachedVolumePaths·=·(Map)new·ArrayMap();
273 ········sCachedVolumeScanPaths·=·(Map)new·ArrayMap();257 ········sCachedVolumeScanPaths·=·(Map)new·ArrayMap();
274 ········sCachedVolumePathToId·=·new·ArrayMap();258 ········sCachedVolumePathToId·=·new·ArrayMap();
275 ········sUserId·=·UserHandle.myUserId(); 
276 ········sDataOnlyColumn·=·new·String[]·{·s·};259 ········sDataOnlyColumn·=·new·String[]·{·s·};
277 ········MIGRATION_LISTENER·=·(DatabaseHelper$OnLegacyMigrationListener)new·MediaProvider$4();260 ········MIGRATION_LISTENER·=·(DatabaseHelper$OnLegacyMigrationListener)new·MediaProvider$4();
278 ········REDACTED_EXIF_TAGS·=·new·String[]·{·"GPSAltitude",·"GPSAltitudeRef",·"GPSAreaInformation",·"GPSDOP",·"GPSDateStamp",·"GPSDestBearing",·"GPSDestBearingRef",·"GPSDestDistance",·"GPSDestDistanceRef",·"GPSDestLatitude",·"GPSDestLatitudeRef",·"GPSDestLongitude",·"GPSDestLongitudeRef",·"GPSDifferential",·"GPSImgDirection",·"GPSImgDirectionRef",·"GPSLatitude",·"GPSLatitudeRef",·"GPSLongitude",·"GPSLongitudeRef",·"GPSMapDatum",·"GPSMeasureMode",·"GPSProcessingMethod",·"GPSSatellites",·"GPSSpeed",·"GPSSpeedRef",·"GPSStatus",·"GPSTimeStamp",·"GPSTrack",·"GPSTrackRef",·"GPSVersionID"·};261 ········REDACTED_EXIF_TAGS·=·new·String[]·{·"GPSAltitude",·"GPSAltitudeRef",·"GPSAreaInformation",·"GPSDOP",·"GPSDateStamp",·"GPSDestBearing",·"GPSDestBearingRef",·"GPSDestDistance",·"GPSDestDistanceRef",·"GPSDestLatitude",·"GPSDestLatitudeRef",·"GPSDestLongitude",·"GPSDestLongitudeRef",·"GPSDifferential",·"GPSImgDirection",·"GPSImgDirectionRef",·"GPSLatitude",·"GPSLatitudeRef",·"GPSLongitude",·"GPSLongitudeRef",·"GPSMapDatum",·"GPSMeasureMode",·"GPSProcessingMethod",·"GPSSatellites",·"GPSSpeed",·"GPSSpeedRef",·"GPSStatus",·"GPSTimeStamp",·"GPSTrack",·"GPSTrackRef",·"GPSVersionID"·};
279 ········final·int[]·array;262 ········final·int[]·array;
280 ········final·int[]·redacted_ISO_BOXES·=·array·=·new·int[4];263 ········final·int[]·redacted_ISO_BOXES·=·array·=·new·int[4];
281 ········array[0]·=·1819239273;264 ········array[0]·=·1819239273;
282 ········array[1]·=·-1451722374;265 ········array[1]·=·-1451722374;
Offset 306, 20 lines modifiedOffset 289, 18 lines modified
306 ········final·String·s·=·"_data";289 ········final·String·s·=·"_data";
307 ········sDataColumns.put((Object)s,·(Object)null);290 ········sDataColumns.put((Object)s,·(Object)null);
308 ········MediaProvider.sDataColumns.put((Object)s,·(Object)null);291 ········MediaProvider.sDataColumns.put((Object)s,·(Object)null);
309 ········MediaProvider.sDataColumns.put((Object)s,·(Object)null);292 ········MediaProvider.sDataColumns.put((Object)s,·(Object)null);
310 ········MediaProvider.sDataColumns.put((Object)s,·(Object)null);293 ········MediaProvider.sDataColumns.put((Object)s,·(Object)null);
311 ········MediaProvider.sDataColumns.put((Object)"album_art",·(Object)null);294 ········MediaProvider.sDataColumns.put((Object)"album_art",·(Object)null);
312 ········this.mShouldRedactThreadIds·=·new·LongArray();295 ········this.mShouldRedactThreadIds·=·new·LongArray();
313 ········this.mNonHiddenPaths·=·new·MediaProvider$LRUCache(50); 
314 ········this.mCachedCallingIdentity·=·new·SparseArray();296 ········this.mCachedCallingIdentity·=·new·SparseArray();
315 ········this.mActiveListener·=·(AppOpsManager$OnOpActiveChangedListener)new·-$$Lambda$MediaProvider$zzbBPses8qCuVDntfxAMM7hPnyI(this);297 ········this.mActiveListener·=·(AppOpsManager$OnOpActiveChangedListener)new·-$$Lambda$MediaProvider$zzbBPses8qCuVDntfxAMM7hPnyI(this);
316 ········this.mCachedCallingIdentityForFuse·=·new·SparseArray();298 ········this.mCachedCallingIdentityForFuse·=·new·SparseArray();
317 ········this.mModeListener·=·(AppOpsManager$OnOpChangedListener)new·-$$Lambda$MediaProvider$vH68ZyRa5ZtWWiD0JYR19W_k2Pk(this);299 ········this.mModeListener·=·(AppOpsManager$OnOpChangedListener)new·-$$Lambda$MediaProvider$vH68ZyRa5ZtWWiD0JYR19W_k2Pk(this);
318 ········this.mNonWorkProfileUsers·=·new·ArrayList(); 
319 ········this.mCallingIdentity·=·ThreadLocal.withInitial((Supplier<?>)new·-$$Lambda$MediaProvider$5P4DLDQvZ2kc1HR2A_5XtxnnQ74(this));300 ········this.mCallingIdentity·=·ThreadLocal.withInitial((Supplier<?>)new·-$$Lambda$MediaProvider$5P4DLDQvZ2kc1HR2A_5XtxnnQ74(this));
320 ········this.mTransactListener·=·(Binder$ProxyTransactListener)new·MediaProvider$1(this);301 ········this.mTransactListener·=·(Binder$ProxyTransactListener)new·MediaProvider$1(this);
321 ········this.mDirectoryCache·=·new·ArrayMap();302 ········this.mDirectoryCache·=·new·ArrayMap();
322 ········this.mPackageReceiver·=·(BroadcastReceiver)new·MediaProvider$2(this);303 ········this.mPackageReceiver·=·(BroadcastReceiver)new·MediaProvider$2(this);
323 ········this.mFilesListener·=·(DatabaseHelper$OnFilesChangeListener)new·MediaProvider$3(this);304 ········this.mFilesListener·=·(DatabaseHelper$OnFilesChangeListener)new·MediaProvider$3(this);
324 ········this.mIdGenerator·=·(UnaryOperator)new·-$$Lambda$MediaProvider$ovdhzjNF-N478oRw_XRNF5Z65tg(this);305 ········this.mIdGenerator·=·(UnaryOperator)new·-$$Lambda$MediaProvider$ovdhzjNF-N478oRw_XRNF5Z65tg(this);
325 ········this.mAudioThumbnailer·=·(MediaProvider$Thumbnailer)new·MediaProvider$6(this,·Environment.DIRECTORY_MUSIC);306 ········this.mAudioThumbnailer·=·(MediaProvider$Thumbnailer)new·MediaProvider$6(this,·Environment.DIRECTORY_MUSIC);
Offset 367, 20 lines modifiedOffset 348, 15 lines modified
367 ········MediaProvider.sPlacementColumns.add((Object)"date_expires");348 ········MediaProvider.sPlacementColumns.add((Object)"date_expires");
368 ····}349 ····}
369 ····350 ····
370 ····private·void·acceptWithExpansion(final·Consumer·consumer,·final·String·s,·final·long·n,·final·int·n2,·final·boolean·b)·{351 ····private·void·acceptWithExpansion(final·Consumer·consumer,·final·String·s,·final·long·n,·final·int·n2,·final·boolean·b)·{
371 ········final·boolean·b2·=·true;352 ········final·boolean·b2·=·true;
372 ········if·(n2·!=·(b2·?·1·:·0))·{353 ········if·(n2·!=·(b2·?·1·:·0))·{
373 ············if·(n2·!=·2)·{354 ············if·(n2·!=·2)·{
374 ················if·(n2·!=·3)·{355 ················if·(n2·==·3)·{
375 ····················if·(n2·==·4)·{ 
376 ························consumer.accept(MediaStore$Audio$Playlists$Members.getContentUri(s,·n)); 
377 ····················} 
378 ················} 
379 ················else·{ 
380 ····················consumer.accept(MediaStore$Video$Media.getContentUri(s,·n));356 ····················consumer.accept(MediaStore$Video$Media.getContentUri(s,·n));
381 ················}357 ················}
382 ············}358 ············}
383 ············else·{359 ············else·{
384 ················consumer.accept(MediaStore$Audio$Media.getContentUri(s,·n));360 ················consumer.accept(MediaStore$Audio$Media.getContentUri(s,·n));
385 ················consumer.accept(MediaStore$Audio$Genres.getContentUri(s));361 ················consumer.accept(MediaStore$Audio$Genres.getContentUri(s));
386 ················consumer.accept(MediaStore$Audio$Playlists.getContentUri(s));362 ················consumer.accept(MediaStore$Audio$Playlists.getContentUri(s));
Offset 418, 96 lines modifiedOffset 394, 16 lines modified
418 ········final·String·s·=·"·*";394 ········final·String·s·=·"·*";
419 ········sb.append(s);395 ········sb.append(s);
420 ········sb.append(str);396 ········sb.append(str);
421 ········sb.append(s);397 ········sb.append(s);
422 ········sGreylist.add(Pattern.compile(sb.toString()));398 ········sGreylist.add(Pattern.compile(sb.toString()));
423 ····}399 ····}
424 ····400 ····
425 ····private·int·addPlaylistMembers(final·Uri·uri,·final·ContentValues[]·array)·{ 
426 ········final·String·volumeName·=·MediaStore.getVolumeName(uri); 
427 ········String·s·=·"internal"; 
428 ········if·(!s.equals(volumeName))·{ 
429 ············s·=·"external"; 
430 ········} 
431 ········try·{ 
432 ············final·File·queryForDataFile·=·this.queryForDataFile(uri,·null); 
433 ············try·{ 
434 ················try·{ 
435 ····················final·Playlist·playlist2; 
436 ····················final·Playlist·playlist·=·playlist2·=·new·Playlist(); 
437 ····················try·{ 
438 ························playlist2.read(queryForDataFile); 
439 ························final·int·length·=·array.length; 
440 ························int·n·=·0; 
441 ························while·(true)·{ 
442 ····························Label_0223:·{ 
443 ································if·(n·>=·length)·{ 
444 ····································break·Label_0223; 
445 ································} 
446 ································final·ContentValues·contentValues·=·array[n]; 
447 ································final·Long·asLong·=·contentValues.getAsLong("audio_id"); 
448 ································try·{ 
449 ····································final·File·queryForDataFile2·=·this.queryForDataFile(MediaStore$Audio$Media.getContentUri(s,·asLong),·null); 
450 ····································final·Integer·asInteger·=·contentValues.getAsInteger("play_order"); 
451 ····································int·i; 
452 ····································if·(asInteger·!=·null)·{ 
453 ········································i·=·asInteger·-·1; 
454 ····································} 
455 ····································else·{ 
456 ········································i·=·-1·>>>·1; 
457 ····································} 
458 ····································final·Integer·value·=·i; 
459 ····································try·{ 
460 ········································final·int·intValue·=·(int)value; 
461 ········································try·{ 
462 ············································final·Path·path·=·queryForDataFile.toPath(); 
463 ············································try·{ 
464 ················································final·Path·parent·=·path.getParent(); 
465 ················································try·{ 
466 ····················································playlist.add(intValue,·parent.relativize(queryForDataFile2.toPath())); 
467 ····················································++n; 
468 ····················································continue; 
469 ····················································playlist.write(queryForDataFile); 
470 ····················································try·{ 
471 ························································this.resolvePlaylistMembers(uri); 
472 ························································return·array.length; 
473 ····················································} 
474 ····················································catch·(IOException·ex)·{ 
475 ························································throw·new·MediaProvider$FallbackException("Failed·to·update·playlist",·(Throwable)ex,·30); 
476 ····················································} 
477 ················································} 
478 ················································catch·(IOException·ex2)·{} 
479 ············································} 
480 ············································catch·(IOException·ex3)·{} 
481 ········································} 
482 ········································catch·(IOException·ex4)·{} 
483 ····································} 
484 ····································catch·(IOException·ex5)·{} 
485 ································} 
486 ································catch·(IOException·ex6)·{} 
487 ····························} 
488 ························} 
489 ····················} 
490 ····················catch·(IOException·ex7)·{} 
491 ················} 
492 ················catch·(IOException·ex8)·{} 
493 ············} 
494 ············catch·(IOException·ex9)·{} 
495 ········} 
496 ········catch·(IOException·ex10)·{} 
497 ····} 
498 ···· 
499 ····private·long·addPlaylistMembers(final·Uri·uri,·final·ContentValues·contentValues)·{401 ····private·long·addPlaylistMembers(final·Uri·uri,·final·ContentValues·contentValues)·{
 402 ········final·Uri·contentUri·=·MediaStore$Audio$Media.getContentUri(MediaStore.getVolumeName(uri),·(long)contentValues.getAsLong("audio_id"));
500 ········final·long·longValue·=·(long)contentValues.getAsLong("audio_id"); 
501 ········final·String·volumeName·=·MediaStore.getVolumeName(uri); 
502 ········String·s·=·"internal"; 
503 ········if·(!s.equals(volumeName))·{ 
504 ············s·=·"external"; 
505 ········} 
506 ········final·Uri·contentUri·=·MediaStore$Audio$Media.getContentUri(s,·longValue); 
507 ········final·Integer·asInteger·=·contentValues.getAsInteger("play_order");403 ········final·Integer·asInteger·=·contentValues.getAsInteger("play_order");
508 ········int·i;404 ········int·i;
509 ········if·(asInteger·!=·null)·{405 ········if·(asInteger·!=·null)·{
510 ············i·=·asInteger·-·1;406 ············i·=·asInteger·-·1;
511 ········}407 ········}
512 ········else·{408 ········else·{
513 ············i·=·-1·>>>·1;409 ············i·=·-1·>>>·1;
Offset 530, 74 lines modifiedOffset 426, 70 lines modified
530 ································final·Path·parent·=·path.getParent();426 ································final·Path·parent·=·path.getParent();
531 ································try·{427 ································try·{
532 ····································final·int·add·=·playlist.add(intValue,·parent.relativize(queryForDataFile2.toPath()));428 ····································final·int·add·=·playlist.add(intValue,·parent.relativize(queryForDataFile2.toPath()));
533 ····································try·{429 ····································try·{
534 ········································final·Integer·value2·=·add;430 ········································final·Integer·value2·=·add;
535 ········································playlist.write(queryForDataFile);431 ········································playlist.write(queryForDataFile);
536 ········································try·{432 ········································try·{
537 ············································this.invalidateFuseDentry(queryForDataFile);433 ············································this.resolvePlaylistMembers(uri);
 434 ············································final·String·volumeName·=·MediaStore.getVolumeName(uri);
538 ············································try·{435 ············································try·{
539 ················································this.resolvePlaylistMembers(uri); 
540 ················································final·String·volumeName2·=·MediaStore.getVolumeName(uri);436 ················································final·Uri·contentUri2·=·MediaStore$Audio$Playlists$Members.getContentUri(volumeName,·ContentUris.parseId(uri));
 437 ················································final·String[]·array·=·{·"_id"·};
541 ················································try·{438 ················································try·{
542 ····················································final·Uri·contentUri2·=·MediaStore$Audio$Playlists$Members.getContentUri(volumeName2,·ContentUris.parseId(uri)); 
543 ····················································final·String[]·array·=·{·"_id"·}; 
544 ····················································try·{439 ····················································try·{
 440 ························································final·StringBuilder·sb·=·new·StringBuilder();
 441 ························································sb.append("play_order=");
 442 ························································sb.append((int)value2·+·1);
 443 ························································final·Cursor·query·=·this.query(contentUri2,·array,·sb.toString(),·null,·null);
545 ························································try·{444 ························································try·{
546 ····························································final·StringBuilder·sb·=·new·StringBuilder(); 
547 ····························································sb.append("play_order="); 
548 ····························································sb.append((int)value2·+·1); 
549 ····························································final·Cursor·query·=·this.query(contentUri2,·array,·sb.toString(),·null,·null); 
550 ····························································try·{ 
551 ································································query.moveToFirst();445 ····························································query.moveToFirst();
552 ································································final·long·long1·=·query.getLong(0);446 ····························································final·long·long1·=·query.getLong(0);
553 ································································if·(query·!=·null)·{447 ····························································if·(query·!=·null)·{
 448 ································································query.close();
 449 ····························································}
 450 ····························································return·long1;
 451 ························································}
 452 ························································finally·{
 453 ····························································if·(query·!=·null)·{
 454 ································································try·{
554 ····································································query.close();455 ····································································query.close();
555 ································································}456 ································································}
556 ································································return·long1; 
557 ····························································} 
558 ····························································finally·{ 
559 ································································if·(query·!=·null)·{ 
560 ····································································try·{ 
561 ········································································query.close(); 
562 ····································································} 
563 ····································································finally·{457 ································································finally·{
564 ········································································final·Throwable·exception;458 ····································································final·Throwable·exception;
565 ········································································((Throwable)uri).addSuppressed(exception);459 ····································································((Throwable)uri).addSuppressed(exception);
566 ····································································} 
567 ································································}460 ································································}
568 ····························································}461 ····························································}
569 ························································}462 ························································}
570 ························································catch·(IOException·ex)·{ 
571 ····························································throw·new·MediaProvider$FallbackException("Failed·to·update·playlist",·(Throwable)ex,·30); 
572 ························································} 
573 ····················································}463 ····················································}
574 ····················································catch·(IOException·ex2)·{}464 ····················································catch·(IOException·ex)·{
 465 ························································throw·new·MediaProvider$FallbackException("Failed·to·update·playlist",·(Throwable)ex,·30);
 466 ····················································}
575 ················································}467 ················································}
576 ················································catch·(IOException·ex3)·{}468 ················································catch·(IOException·ex2)·{}
577 ············································}469 ············································}
578 ············································catch·(IOException·ex4)·{}470 ············································catch·(IOException·ex3)·{}
579 ········································}471 ········································}
580 ········································catch·(IOException·ex5)·{}472 ········································catch·(IOException·ex4)·{}
581 ····································}473 ····································}
582 ····································catch·(IOException·ex6)·{}474 ····································catch·(IOException·ex5)·{}
583 ································}475 ································}
584 ································catch·(IOException·ex7)·{}476 ································catch·(IOException·ex6)·{}
585 ····························}477 ····························}
586 ····························catch·(IOException·ex8)·{}478 ····························catch·(IOException·ex7)·{}
587 ························}479 ························}
588 ························catch·(IOException·ex9)·{}480 ························catch·(IOException·ex8)·{}
589 ····················}481 ····················}
590 ····················catch·(IOException·ex10)·{}482 ····················catch·(IOException·ex9)·{}
591 ················}483 ················}
592 ················catch·(IOException·ex11)·{}484 ················catch·(IOException·ex10)·{}
593 ············}485 ············}
594 ············catch·(IOException·ex12)·{}486 ············catch·(IOException·ex11)·{}
595 ········}487 ········}
596 ········catch·(IOException·ex13)·{}488 ········catch·(IOException·ex12)·{}
597 ····}489 ····}
598 ····490 ····
599 ····private·static·void·appendWhereStandalone(final·SQLiteQueryBuilder·sqLiteQueryBuilder,·String·bindSelection,·final·Object...·array)·{491 ····private·static·void·appendWhereStandalone(final·SQLiteQueryBuilder·sqLiteQueryBuilder,·String·bindSelection,·final·Object...·array)·{
600 ········bindSelection·=·DatabaseUtils.bindSelection(bindSelection,·array);492 ········bindSelection·=·DatabaseUtils.bindSelection(bindSelection,·array);
601 ········sqLiteQueryBuilder.appendWhereStandalone((CharSequence)bindSelection);493 ········sqLiteQueryBuilder.appendWhereStandalone((CharSequence)bindSelection);
602 ····}494 ····}
603 ····495 ····
Offset 668, 38 lines modifiedOffset 560, 14 lines modified
668 ················throw·new·MediaProvider$VolumeArgumentException(canonicalFile,·volumeScanPaths);560 ················throw·new·MediaProvider$VolumeArgumentException(canonicalFile,·volumeScanPaths);
669 ············}561 ············}
670 ············catch·(IOException·ex)·{}562 ············catch·(IOException·ex)·{}
671 ········}563 ········}
672 ········catch·(IOException·ex2)·{}564 ········catch·(IOException·ex2)·{}
673 ····}565 ····}
674 ····566 ····
675 ····private·int·bulkInsertPlaylist(final·Uri·uri,·final·ContentValues[]·array)·{ 
676 ········Trace.beginSection("bulkInsertPlaylist"); 
677 ········try·{ 
678 ············try·{ 
679 ················try·{ 
680 ····················final·int·addPlaylistMembers·=·this.addPlaylistMembers(uri,·array); 
681 ····················Trace.endSection(); 
682 ····················return·addPlaylistMembers; 
683 ················} 
684 ················finally·{} 
685 ············} 
686 ············catch·(MediaProvider$FallbackException·ex)·{ 
687 ················final·MediaProvider·mediaProvider; 
688 ················final·int·translateForBulkInsert·=·ex.translateForBulkInsert(mediaProvider.getCallingPackageTargetSdkVersion()); 
689 ················Trace.endSection(); 
690 ················return·translateForBulkInsert; 
691 ················Trace.endSection(); 
692 ················return·0; 
693 ············} 
694 ········} 
695 ········catch·(SQLiteConstraintException·ex2)·{} 
696 ········Trace.endSection(); 
697 ····} 
698 ···· 
699 ····private·Bundle·callInternal(final·String·p0,·final·String·p1,·final·Bundle·p2)·{567 ····private·Bundle·callInternal(final·String·p0,·final·String·p1,·final·Bundle·p2)·{
700 ········//·568 ········//·
701 ········//·This·method·could·not·be·decompiled.569 ········//·This·method·could·not·be·decompiled.
702 ········//·570 ········//·
703 ········//·Original·Bytecode:571 ········//·Original·Bytecode:
704 ········//·572 ········//·
705 ········//·····1:·invokevirtual···java/lang/String.hashCode:()I573 ········//·····1:·invokevirtual···java/lang/String.hashCode:()I
Offset 710, 744 lines modifiedOffset 578, 744 lines modified
710 ········//····14:·astore··········6578 ········//····14:·astore··········6
711 ········//····16:·iconst_m1······579 ········//····16:·iconst_m1······
712 ········//····17:·istore··········7580 ········//····17:·istore··········7
713 ········//····19:·iconst_2·······581 ········//····19:·iconst_2·······
714 ········//····20:·istore··········8582 ········//····20:·istore··········8
715 ········//····22:·iconst_1·······583 ········//····22:·iconst_1·······
716 ········//····23:·istore··········9584 ········//····23:·istore··········9
717 ········//····25:·ldc_w···········1.4E-45585 ········//····25:·ldc·············1.4E-45
718 ········//····28:·fstore··········10586 ········//····27:·fstore··········10
719 ········//····30:·iload···········4587 ········//····29:·iload···········4
720 ········//····32:·lookupswitch·{588 ········//····31:·lookupswitch·{
721 ········//··········-1825673730:·446589 ········//··········-1825673730:·442
722 ········//··········-1662171364:·427590 ········//··········-1662171364:·423
723 ········//··········-1639339800:·402591 ········//··········-1639339800:·398
724 ········//··········-1389267692:·377592 ········//··········-1389267692:·373
725 ········//··········-1198147951:·352593 ········//··········-1198147951:·348
726 ········//··········-914121311:·327594 ········//··········-914121311:·323
727 ········//··········-665880162:·302595 ········//··········-665880162:·298
728 ········//··········-208838705:·277596 ········//··········-208838705:·273
729 ········//··········428121327:·253597 ········//··········428121327:·249
730 ········//··········508472364:·228598 ········//··········508472364:·224
731 ········//··········1330017695:·201599 ········//··········1330017695:·197
732 ········//··········1948507781:·176600 ········//··········1948507781:·172
733 ········//··········2052072028:·151601 ········//··········2052072028:·147
734 ········//··········default:·148602 ········//··········default:·144
735 ········//········}603 ········//········}
736 ········//···148:·goto············465604 ········//···144:·goto············461
737 ········//···151:·ldc_w···········"run_idle_maintenance"605 ········//···147:·ldc_w···········"run_idle_maintenance"
738 ········//···154:·astore··········11606 ········//···150:·astore··········11
739 ········//···156:·aload_1········607 ········//···152:·aload_1········
740 ········//···157:·aload···········11608 ········//···153:·aload···········11
741 ········//···159:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z609 ········//···155:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
742 ········//···162:·istore··········4610 ········//···158:·istore··········4
743 ········//···164:·iload···········4611 ········//···160:·iload···········4
744 ········//···166:·ifeq············465612 ········//···162:·ifeq············461
745 ········//···169:·iload···········9613 ········//···165:·iload···········9
746 ········//···171:·istore··········4614 ········//···167:·istore··········4
747 ········//···173:·goto············469615 ········//···169:·goto············465
748 ········//···176:·ldc_w···········"create_trash_request"616 ········//···172:·ldc_w···········"create_trash_request"
749 ········//···179:·astore··········11617 ········//···175:·astore··········11
750 ········//···181:·aload_1········618 ········//···177:·aload_1········
751 ········//···182:·aload···········11619 ········//···178:·aload···········11
752 ········//···184:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z620 ········//···180:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
753 ········//···187:·istore··········4621 ········//···183:·istore··········4
754 ········//···189:·iload···········4622 ········//···185:·iload···········4
755 ········//···191:·ifeq············465623 ········//···187:·ifeq············461
756 ········//···194:·bipush··········11624 ········//···190:·bipush··········11
757 ········//···196:·istore··········4625 ········//···192:·istore··········4
758 ········//···198:·goto············469626 ········//···194:·goto············465
759 ········//···201:·ldc_w···········"resolve_playlist_members"627 ········//···197:·ldc_w···········"resolve_playlist_members"
760 ········//···204:·astore··········11628 ········//···200:·astore··········11
761 ········//···206:·aload_1········629 ········//···202:·aload_1········
762 ········//···207:·aload···········11630 ········//···203:·aload···········11
763 ········//···209:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z631 ········//···205:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
764 ········//···212:·istore··········4 
765 ········//···214:·iload···········4 
766 ········//···216:·ifeq············465 
767 ········//···219:·iconst_0······· 
768 ········//···220:·istore··········4632 ········//···208:·istore··········4
 633 ········//···210:·iload···········4
 634 ········//···212:·ifeq············461
 635 ········//···215:·iconst_0·······
 636 ········//···216:·istore··········4
769 ········//···222:·aconst_null····637 ········//···218:·aconst_null····
770 ········//···223:·astore··········11638 ········//···219:·astore··········11
771 ········//···225:·goto············469639 ········//···221:·goto············465
772 ········//···228:·ldc_w···········"create_write_request"640 ········//···224:·ldc_w···········"create_write_request"
773 ········//···231:·astore··········11641 ········//···227:·astore··········11
774 ········//···233:·aload_1········642 ········//···229:·aload_1········
775 ········//···234:·aload···········11643 ········//···230:·aload···········11
776 ········//···236:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z644 ········//···232:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
777 ········//···239:·istore··········4645 ········//···235:·istore··········4
778 ········//···241:·iload···········4646 ········//···237:·iload···········4
779 ········//···243:·ifeq············465647 ········//···239:·ifeq············461
780 ········//···246:·bipush··········9648 ········//···242:·bipush··········9
781 ········//···248:·istore··········4649 ········//···244:·istore··········4
782 ········//···250:·goto············469650 ········//···246:·goto············465
783 ········//···253:·ldc_w···········"get_version"651 ········//···249:·ldc_w···········"get_version"
784 ········//···256:·astore··········11652 ········//···252:·astore··········11
785 ········//···258:·aload_1········653 ········//···254:·aload_1········
786 ········//···259:·aload···········11654 ········//···255:·aload···········11
787 ········//···261:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z 
788 ········//···264:·istore··········4 
789 ········//···266:·iload···········4 
790 ········//···268:·ifeq············465 
791 ········//···271:·iconst_5······· 
792 ········//···272:·istore··········4 
793 ········//···274:·goto············469 
794 ········//···277:·ldc_w···········"create_favorite_request" 
795 ········//···280:·astore··········11 
796 ········//···282:·aload_1········ 
797 ········//···283:·aload···········11 
798 ········//···285:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z655 ········//···257:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
 656 ········//···260:·istore··········4
 657 ········//···262:·iload···········4
 658 ········//···264:·ifeq············461
 659 ········//···267:·iconst_5·······
799 ········//···288:·istore··········4660 ········//···268:·istore··········4
 661 ········//···270:·goto············465
 662 ········//···273:·ldc_w···········"create_favorite_request"
 663 ········//···276:·astore··········11
 664 ········//···278:·aload_1········
 665 ········//···279:·aload···········11
 666 ········//···281:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
 667 ········//···284:·istore··········4
800 ········//···290:·iload···········4668 ········//···286:·iload···········4
801 ········//···292:·ifeq············465669 ········//···288:·ifeq············461
802 ········//···295:·bipush··········10670 ········//···291:·bipush··········10
803 ········//···297:·istore··········4671 ········//···293:·istore··········4
804 ········//···299:·goto············469672 ········//···295:·goto············465
805 ········//···302:·ldc_w···········"create_delete_request"673 ········//···298:·ldc_w···········"create_delete_request"
806 ········//···305:·astore··········11674 ········//···301:·astore··········11
807 ········//···307:·aload_1········675 ········//···303:·aload_1········
808 ········//···308:·aload···········11676 ········//···304:·aload···········11
809 ········//···310:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z677 ········//···306:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
810 ········//···313:·istore··········4678 ········//···309:·istore··········4
811 ········//···315:·iload···········4679 ········//···311:·iload···········4
812 ········//···317:·ifeq············465680 ········//···313:·ifeq············461
813 ········//···320:·bipush··········12681 ········//···316:·bipush··········12
814 ········//···322:·istore··········4682 ········//···318:·istore··········4
815 ········//···324:·goto············469683 ········//···320:·goto············465
816 ········//···327:·ldc_w···········"get_generation"684 ········//···323:·ldc_w···········"get_generation"
817 ········//···330:·astore··········11685 ········//···326:·astore··········11
818 ········//···332:·aload_1········686 ········//···328:·aload_1········
819 ········//···333:·aload···········11687 ········//···329:·aload···········11
820 ········//···335:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z688 ········//···331:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
821 ········//···338:·istore··········4689 ········//···334:·istore··········4
822 ········//···340:·iload···········4690 ········//···336:·iload···········4
823 ········//···342:·ifeq············465691 ········//···338:·ifeq············461
824 ········//···345:·bipush··········6692 ········//···341:·bipush··········6
825 ········//···347:·istore··········4693 ········//···343:·istore··········4
826 ········//···349:·goto············469694 ········//···345:·goto············465
827 ········//···352:·ldc_w···········"get_document_uri"695 ········//···348:·ldc_w···········"get_document_uri"
828 ········//···355:·astore··········11696 ········//···351:·astore··········11
829 ········//···357:·aload_1········697 ········//···353:·aload_1········
830 ········//···358:·aload···········11698 ········//···354:·aload···········11
831 ········//···360:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z699 ········//···356:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
832 ········//···363:·istore··········4700 ········//···359:·istore··········4
833 ········//···365:·iload···········4701 ········//···361:·iload···········4
834 ········//···367:·ifeq············465702 ········//···363:·ifeq············461
835 ········//···370:·bipush··········7703 ········//···366:·bipush··········7
836 ········//···372:·istore··········4704 ········//···368:·istore··········4
837 ········//···374:·goto············469705 ········//···370:·goto············465
838 ········//···377:·ldc_w···········"wait_for_idle"706 ········//···373:·ldc_w···········"wait_for_idle"
839 ········//···380:·astore··········11707 ········//···376:·astore··········11
840 ········//···382:·aload_1········708 ········//···378:·aload_1········
841 ········//···383:·aload···········11709 ········//···379:·aload···········11
842 ········//···385:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z710 ········//···381:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
843 ········//···388:·istore··········4711 ········//···384:·istore··········4
844 ········//···390:·iload···········4712 ········//···386:·iload···········4
845 ········//···392:·ifeq············465713 ········//···388:·ifeq············461
846 ········//···395:·iload···········8714 ········//···391:·iload···········8
847 ········//···397:·istore··········4715 ········//···393:·istore··········4
848 ········//···399:·goto············469716 ········//···395:·goto············465
849 ········//···402:·ldc_w···········"get_media_uri"717 ········//···398:·ldc_w···········"get_media_uri"
850 ········//···405:·astore··········11718 ········//···401:·astore··········11
851 ········//···407:·aload_1········719 ········//···403:·aload_1········
852 ········//···408:·aload···········11720 ········//···404:·aload···········11
853 ········//···410:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z721 ········//···406:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
854 ········//···413:·istore··········4722 ········//···409:·istore··········4
855 ········//···415:·iload···········4723 ········//···411:·iload···········4
856 ········//···417:·ifeq············465724 ········//···413:·ifeq············461
857 ········//···420:·bipush··········8725 ········//···416:·bipush··········8
858 ········//···422:·istore··········4726 ········//···418:·istore··········4
859 ········//···424:·goto············469727 ········//···420:·goto············465
860 ········//···427:·aload_1········728 ········//···423:·aload_1········
861 ········//···428:·aload···········5729 ········//···424:·aload···········5
862 ········//···430:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z730 ········//···426:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
863 ········//···433:·istore··········4731 ········//···429:·istore··········4
864 ········//···435:·iload···········4732 ········//···431:·iload···········4
865 ········//···437:·ifeq············465733 ········//···433:·ifeq············461
866 ········//···440:·iconst_4·······734 ········//···436:·iconst_4·······
867 ········//···441:·istore··········4735 ········//···437:·istore··········4
868 ········//···443:·goto············469736 ········//···439:·goto············465
869 ········//···446:·aload_1········737 ········//···442:·aload_1········
870 ········//···447:·aload···········6738 ········//···443:·aload···········6
871 ········//···449:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z739 ········//···445:·invokevirtual···java/lang/String.equals:(Ljava/lang/Object;)Z
872 ········//···452:·istore··········4740 ········//···448:·istore··········4
873 ········//···454:·iload···········4741 ········//···450:·iload···········4
874 ········//···456:·ifeq············465742 ········//···452:·ifeq············461
875 ········//···459:·iconst_3·······743 ········//···455:·iconst_3·······
876 ········//···460:·istore··········4744 ········//···456:·istore··········4
877 ········//···462:·goto············469745 ········//···458:·goto············465
878 ········//···465:·iload···········7746 ········//···461:·iload···········7
879 ········//···467:·istore··········4747 ········//···463:·istore··········4
880 ········//···469:·ldc_w···········"com.android.externalstorage.documents"748 ········//···465:·ldc_w···········"com.android.externalstorage.documents"
881 ········//···472:·astore··········12749 ········//···468:·astore··········12
882 ········//···474:·ldc_w···········"MediaProvider"750 ········//···470:·ldc_w···········"MediaProvider"
883 ········//···477:·astore··········13751 ········//···473:·astore··········13
884 ········//···479:·ldc_w···········"android.intent.extra.TEXT"752 ········//···475:·ldc_w···········"android.intent.extra.TEXT"
885 ········//···482:·astore··········14753 ········//···478:·astore··········14
886 ········//···484:·ldc_w···········"uri"754 ········//···480:·ldc_w···········"uri"
887 ········//···487:·astore··········15755 ········//···483:·astore··········15
888 ········//···489:·iload···········4756 ········//···485:·iload···········4
889 ········//···491:·tableswitch·{757 ········//···487:·tableswitch·{
890 ········//················0:·1304758 ········//················0:·1300
891 ········//················1:·1244759 ········//················1:·1240
892 ········//················2:·1236760 ········//················2:·1232
893 ········//················3:·1045761 ········//················3:·1041
894 ········//················4:·1045762 ········//················4:·1041
895 ········//················5:·993763 ········//················5:·989
896 ········//················6:·935764 ········//················6:·931
897 ········//················7:·796765 ········//················7:·792
898 ········//················8:·619766 ········//················8:·615
899 ········//················9:·594767 ········//················9:·590
900 ········//···············10:·594768 ········//···············10:·590
901 ········//···············11:·594769 ········//···············11:·590
902 ········//···············12:·594770 ········//···············12:·590
903 ········//··········default:·556771 ········//··········default:·552
904 ········//········}772 ········//········}
905 ········//···556:·new·············Ljava/lang/UnsupportedOperationException;773 ········//···552:·new·············Ljava/lang/UnsupportedOperationException;
906 ········//···559:·astore_0·······774 ········//···555:·astore_0·······
907 ········//···560:·new·············Ljava/lang/StringBuilder;775 ········//···556:·new·············Ljava/lang/StringBuilder;
908 ········//···563:·astore_2·······776 ········//···559:·astore_2·······
 777 ········//···560:·aload_2········
 778 ········//···561:·invokespecial···java/lang/StringBuilder.<init>:()V
909 ········//···564:·aload_2········779 ········//···564:·aload_2········
910 ········//···565:·invokespecial···java/lang/StringBuilder.<init>:()V 
911 ········//···568:·aload_2········ 
912 ········//···569:·ldc_w···········"Unsupported·call:·"780 ········//···565:·ldc_w···········"Unsupported·call:·"
913 ········//···572:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 
914 ········//···575:·pop············ 
915 ········//···576:·aload_2········ 
916 ········//···577:·aload_1········ 
917 ········//···578:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;781 ········//···568:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
918 ········//···581:·pop············782 ········//···571:·pop············
919 ········//···582:·aload_2········783 ········//···572:·aload_2········
 784 ········//···573:·aload_1········
 785 ········//···574:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
 786 ········//···577:·pop············
 787 ········//···578:·aload_2········
920 ········//···583:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String;788 ········//···579:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String;
921 ········//···586:·astore_1·······789 ········//···582:·astore_1·······
922 ········//···587:·aload_0········790 ········//···583:·aload_0········
923 ········//···588:·aload_1········791 ········//···584:·aload_1········
924 ········//···589:·invokespecial···java/lang/UnsupportedOperationException.<init>:(Ljava/lang/String;)V792 ········//···585:·invokespecial···java/lang/UnsupportedOperationException.<init>:(Ljava/lang/String;)V
925 ········//···592:·aload_0········793 ········//···588:·aload_0········
926 ········//···593:·athrow·········794 ········//···589:·athrow·········
927 ········//···594:·aload_0········795 ········//···590:·aload_0········
928 ········//···595:·aload_1········796 ········//···591:·aload_1········
929 ········//···596:·aload_3········797 ········//···592:·aload_3········
930 ········//···597:·invokespecial···com/android/providers/media/MediaProvider.createRequest:(Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/PendingIntent;798 ········//···593:·invokespecial···com/android/providers/media/MediaProvider.createRequest:(Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/PendingIntent;
 799 ········//···596:·astore_0·······
 800 ········//···597:·new·············Landroid/os/Bundle;
931 ········//···600:·astore_0·······801 ········//···600:·astore_1·······
932 ········//···601:·new·············Landroid/os/Bundle; 
933 ········//···604:·astore_1·······802 ········//···601:·aload_1········
 803 ········//···602:·invokespecial···android/os/Bundle.<init>:()V
934 ········//···605:·aload_1········804 ········//···605:·aload_1········
935 ········//···606:·invokespecial···android/os/Bundle.<init>:()V 
936 ········//···609:·aload_1········ 
937 ········//···610:·ldc_w···········"result"805 ········//···606:·ldc_w···········"result"
938 ········//···613:·aload_0········806 ········//···609:·aload_0········
939 ········//···614:·invokevirtual···android/os/Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V807 ········//···610:·invokevirtual···android/os/Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V
940 ········//···617:·aload_1········808 ········//···613:·aload_1········
941 ········//···618:·areturn········809 ········//···614:·areturn········
942 ········//···619:·aload_3········810 ········//···615:·aload_3········
943 ········//···620:·aload···········15811 ········//···616:·aload···········15
944 ········//···622:·invokevirtual···android/os/Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;812 ········//···618:·invokevirtual···android/os/Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;
945 ········//···625:·checkcast·······Landroid/net/Uri;813 ········//···621:·checkcast·······Landroid/net/Uri;
946 ········//···628:·astore_2·······814 ········//···624:·astore_2·······
947 ········//···629:·aload_0········815 ········//···625:·aload_0········
948 ········//···630:·invokevirtual···android/content/ContentProvider.getContext:()Landroid/content/Context; 
949 ········//···633:·astore··········11 
950 ········//···635:·aload···········11 
951 ········//···637:·aload_2········ 
952 ········//···638:·iload···········9 
953 ········//···640:·aload···········13 
954 ········//···642:·invokevirtual···android/content/Context.enforceCallingUriPermission:(Landroid/net/Uri;ILjava/lang/String;)V 
955 ········//···645:·aload_0········ 
956 ········//···646:·invokevirtual···android/content/ContentProvider.getContext:()Landroid/content/Context;816 ········//···626:·invokevirtual···android/content/ContentProvider.getContext:()Landroid/content/Context;
 817 ········//···629:·astore··········11
 818 ········//···631:·aload···········11
 819 ········//···633:·aload_2········
 820 ········//···634:·iload···········9
 821 ········//···636:·aload···········13
 822 ········//···638:·invokevirtual···android/content/Context.enforceCallingUriPermission:(Landroid/net/Uri;ILjava/lang/String;)V
 823 ········//···641:·aload_0········
 824 ········//···642:·invokevirtual···android/content/ContentProvider.getContext:()Landroid/content/Context;
957 ········//···649:·astore_2·······825 ········//···645:·astore_2·······
958 ········//···650:·aload_2········826 ········//···646:·aload_2········
959 ········//···651:·invokevirtual···android/content/Context.getContentResolver:()Landroid/content/ContentResolver;827 ········//···647:·invokevirtual···android/content/Context.getContentResolver:()Landroid/content/ContentResolver;
960 ········//···654:·astore_2·······828 ········//···650:·astore_2·······
961 ········//···655:·aload_2········829 ········//···651:·aload_2········
962 ········//···656:·aload···········12830 ········//···652:·aload···········12
963 ········//···658:·invokevirtual···android/content/ContentResolver.acquireUnstableContentProviderClient:(Ljava/lang/String;)Landroid/content/ContentProviderClient;831 ········//···654:·invokevirtual···android/content/ContentResolver.acquireUnstableContentProviderClient:(Ljava/lang/String;)Landroid/content/ContentProviderClient;
964 ········//···661:·astore_2·······832 ········//···657:·astore_2·······
965 ········//···662:·aload_2········833 ········//···658:·aload_2········
966 ········//···663:·aload_1········834 ········//···659:·aload_1········
967 ········//···664:·aconst_null····835 ········//···660:·aconst_null····
968 ········//···665:·aload_3········836 ········//···661:·aload_3········
969 ········//···666:·invokevirtual···android/content/ContentProviderClient.call:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;837 ········//···662:·invokevirtual···android/content/ContentProviderClient.call:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
970 ········//···669:·astore_1·······838 ········//···665:·astore_1·······
971 ········//···670:·aload_1········839 ········//···666:·aload_1········
972 ········//···671:·aload···········15840 ········//···667:·aload···········15
973 ········//···673:·invokevirtual···android/os/Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;841 ········//···669:·invokevirtual···android/os/Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;
974 ········//···676:·astore_1·······842 ········//···672:·astore_1·······
975 ········//···677:·aload_1········843 ········//···673:·aload_1········
976 ········//···678:·checkcast·······Landroid/net/Uri;844 ········//···674:·checkcast·······Landroid/net/Uri;
977 ········//···681:·astore_1·······845 ········//···677:·astore_1·······
 846 ········//···678:·aload_2········
 847 ········//···679:·ifnull··········686
978 ········//···682:·aload_2········848 ········//···682:·aload_2········
979 ········//···683:·ifnull··········690 
980 ········//···686:·aload_2········ 
981 ········//···687:·invokevirtual···android/content/ContentProviderClient.close:()V849 ········//···683:·invokevirtual···android/content/ContentProviderClient.close:()V
982 ········//···690:·aload_0········850 ········//···686:·aload_0········
983 ········//···691:·invokevirtual···com/android/providers/media/MediaProvider.clearLocalCallingIdentity:()Lcom/android/providers/media/LocalCallingIdentity;851 ········//···687:·invokevirtual···com/android/providers/media/MediaProvider.clearLocalCallingIdentity:()Lcom/android/providers/media/LocalCallingIdentity;
984 ········//···694:·astore_2·······852 ········//···690:·astore_2·······
985 ········//···695:·new·············Landroid/os/Bundle;853 ········//···691:·new·············Landroid/os/Bundle;
986 ········//···698:·astore_3·······854 ········//···694:·astore_3·······
987 ········//···699:·aload_3········855 ········//···695:·aload_3········
988 ········//···700:·invokespecial···android/os/Bundle.<init>:()V856 ········//···696:·invokespecial···android/os/Bundle.<init>:()V
989 ········//···703:·new·············Ljava/io/File;857 ········//···699:·new·············Ljava/io/File;
990 ········//···706:·astore··········11858 ········//···702:·astore··········11
991 ········//···708:·aload_1········859 ········//···704:·aload_1········
992 ········//···709:·invokevirtual···android/net/Uri.getPath:()Ljava/lang/String;860 ········//···705:·invokevirtual···android/net/Uri.getPath:()Ljava/lang/String;
993 ········//···712:·astore_1·······861 ········//···708:·astore_1·······
994 ········//···713:·aload···········11862 ········//···709:·aload···········11
995 ········//···715:·aload_1········863 ········//···711:·aload_1········
996 ········//···716:·invokespecial···java/io/File.<init>:(Ljava/lang/String;)V864 ········//···712:·invokespecial···java/io/File.<init>:(Ljava/lang/String;)V
997 ········//···719:·aload_0········865 ········//···715:·aload_0········
998 ········//···720:·aload···········11866 ········//···716:·aload···········11
999 ········//···722:·aconst_null····867 ········//···718:·aconst_null····
1000 ········//···723:·invokevirtual···com/android/providers/media/MediaProvider.queryForMediaUri:(Ljava/io/File;Landroid/os/CancellationSignal;)Landroid/net/Uri;868 ········//···719:·invokevirtual···com/android/providers/media/MediaProvider.queryForMediaUri:(Ljava/io/File;Landroid/os/CancellationSignal;)Landroid/net/Uri;
1001 ········//···726:·astore_1·······869 ········//···722:·astore_1·······
1002 ········//···727:·aload_3········870 ········//···723:·aload_3········
1003 ········//···728:·aload···········15871 ········//···724:·aload···········15
1004 ········//···730:·aload_1········872 ········//···726:·aload_1········
1005 ········//···731:·invokevirtual···android/os/Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V873 ········//···727:·invokevirtual···android/os/Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V
1006 ········//···734:·aload_0········874 ········//···730:·aload_0········
1007 ········//···735:·aload_2········875 ········//···731:·aload_2········
1008 ········//···736:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V876 ········//···732:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V
1009 ········//···739:·aload_3········877 ········//···735:·aload_3········
1010 ········//···740:·areturn········878 ········//···736:·areturn········
 879 ········//···737:·astore_1·······
 880 ········//···738:·goto············753
1011 ········//···741:·astore_1·······881 ········//···741:·astore_1·······
1012 ········//···742:·goto············757 
1013 ········//···745:·astore_1······· 
1014 ········//···746:·new·············Ljava/lang/IllegalArgumentException;882 ········//···742:·new·············Ljava/lang/IllegalArgumentException;
1015 ········//···749:·astore_3·······883 ········//···745:·astore_3·······
1016 ········//···750:·aload_3········884 ········//···746:·aload_3········
1017 ········//···751:·aload_1········885 ········//···747:·aload_1········
1018 ········//···752:·invokespecial···java/lang/IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V886 ········//···748:·invokespecial···java/lang/IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
1019 ········//···755:·aload_3········887 ········//···751:·aload_3········
1020 ········//···756:·athrow·········888 ········//···752:·athrow·········
1021 ········//···757:·aload_0········889 ········//···753:·aload_0········
1022 ········//···758:·aload_2········890 ········//···754:·aload_2········
1023 ········//···759:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V891 ········//···755:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V
1024 ········//···762:·aload_1········892 ········//···758:·aload_1········
1025 ········//···763:·athrow·········893 ········//···759:·athrow·········
1026 ········//···764:·astore_0·······894 ········//···760:·astore_0·······
 895 ········//···761:·aload_2········
 896 ········//···762:·ifnull··········778
1027 ········//···765:·aload_2········897 ········//···765:·aload_2········
1028 ········//···766:·ifnull··········782 
1029 ········//···769:·aload_2········ 
1030 ········//···770:·invokevirtual···android/content/ContentProviderClient.close:()V898 ········//···766:·invokevirtual···android/content/ContentProviderClient.close:()V
1031 ········//···773:·goto············782899 ········//···769:·goto············778
1032 ········//···776:·astore_1·······900 ········//···772:·astore_1·······
1033 ········//···777:·aload_0········901 ········//···773:·aload_0········
1034 ········//···778:·aload_1········902 ········//···774:·aload_1········
1035 ········//···779:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V903 ········//···775:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
1036 ········//···782:·aload_0········904 ········//···778:·aload_0········
1037 ········//···783:·athrow·········905 ········//···779:·athrow·········
1038 ········//···784:·astore_0·······906 ········//···780:·astore_0·······
1039 ········//···785:·new·············Ljava/lang/IllegalStateException;907 ········//···781:·new·············Ljava/lang/IllegalStateException;
1040 ········//···788:·astore_1·······908 ········//···784:·astore_1·······
1041 ········//···789:·aload_1········909 ········//···785:·aload_1········
1042 ········//···790:·aload_0········910 ········//···786:·aload_0········
1043 ········//···791:·invokespecial···java/lang/IllegalStateException.<init>:(Ljava/lang/Throwable;)V911 ········//···787:·invokespecial···java/lang/IllegalStateException.<init>:(Ljava/lang/Throwable;)V
1044 ········//···794:·aload_1········912 ········//···790:·aload_1········
1045 ········//···795:·athrow·········913 ········//···791:·athrow·········
1046 ········//···796:·aload_3········914 ········//···792:·aload_3········
1047 ········//···797:·aload···········15915 ········//···793:·aload···········15
1048 ········//···799:·invokevirtual···android/os/Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;916 ········//···795:·invokevirtual···android/os/Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;
1049 ········//···802:·checkcast·······Landroid/net/Uri;917 ········//···798:·checkcast·······Landroid/net/Uri;
1050 ········//···805:·astore_2·······918 ········//···801:·astore_2·······
1051 ········//···806:·aload_0········919 ········//···802:·aload_0········
1052 ········//···807:·aload_2········920 ········//···803:·aload_2········
1053 ········//···808:·aload_3········921 ········//···804:·aload_3········
1054 ········//···809:·iconst_0·······922 ········//···805:·iconst_0·······
1055 ········//···810:·invokespecial···com/android/providers/media/MediaProvider.enforceCallingPermission:(Landroid/net/Uri;Landroid/os/Bundle;Z)V923 ········//···806:·invokespecial···com/android/providers/media/MediaProvider.enforceCallingPermission:(Landroid/net/Uri;Landroid/os/Bundle;Z)V
1056 ········//···813:·aload_0········924 ········//···809:·aload_0········
1057 ········//···814:·invokevirtual···com/android/providers/media/MediaProvider.clearLocalCallingIdentity:()Lcom/android/providers/media/LocalCallingIdentity;925 ········//···810:·invokevirtual···com/android/providers/media/MediaProvider.clearLocalCallingIdentity:()Lcom/android/providers/media/LocalCallingIdentity;
1058 ········//···817:·astore··········11926 ········//···813:·astore··········11
1059 ········//···819:·aload_0········927 ········//···815:·aload_0········
1060 ········//···820:·aload_2········928 ········//···816:·aload_2········
1061 ········//···821:·aconst_null····929 ········//···817:·aconst_null····
1062 ········//···822:·invokevirtual···com/android/providers/media/MediaProvider.queryForDataFile:(Landroid/net/Uri;Landroid/os/CancellationSignal;)Ljava/io/File;930 ········//···818:·invokevirtual···com/android/providers/media/MediaProvider.queryForDataFile:(Landroid/net/Uri;Landroid/os/CancellationSignal;)Ljava/io/File;
1063 ········//···825:·astore_2·······931 ········//···821:·astore_2·······
1064 ········//···826:·aload_2········932 ········//···822:·aload_2········
1065 ········//···827:·invokestatic····android/net/Uri.fromFile:(Ljava/io/File;)Landroid/net/Uri;933 ········//···823:·invokestatic····android/net/Uri.fromFile:(Ljava/io/File;)Landroid/net/Uri;
1066 ········//···830:·astore_2·······934 ········//···826:·astore_2·······
1067 ········//···831:·aload_0········935 ········//···827:·aload_0········
1068 ········//···832:·aload···········11936 ········//···828:·aload···········11
1069 ········//···834:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V937 ········//···830:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V
1070 ········//···837:·aload_0········938 ········//···833:·aload_0········
1071 ········//···838:·invokevirtual···android/content/ContentProvider.getContext:()Landroid/content/Context;939 ········//···834:·invokevirtual···android/content/ContentProvider.getContext:()Landroid/content/Context;
1072 ········//···841:·astore_0·······940 ········//···837:·astore_0·······
1073 ········//···842:·aload_0········941 ········//···838:·aload_0········
1074 ········//···843:·invokevirtual···android/content/Context.getContentResolver:()Landroid/content/ContentResolver;942 ········//···839:·invokevirtual···android/content/Context.getContentResolver:()Landroid/content/ContentResolver;
1075 ········//···846:·astore_0·······943 ········//···842:·astore_0·······
1076 ········//···847:·aload_0········944 ········//···843:·aload_0········
1077 ········//···848:·aload···········12945 ········//···844:·aload···········12
1078 ········//···850:·invokevirtual···android/content/ContentResolver.acquireUnstableContentProviderClient:(Ljava/lang/String;)Landroid/content/ContentProviderClient;946 ········//···846:·invokevirtual···android/content/ContentResolver.acquireUnstableContentProviderClient:(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1079 ········//···853:·astore_0·······947 ········//···849:·astore_0·······
1080 ········//···854:·aload_3········948 ········//···850:·aload_3········
1081 ········//···855:·aload···········15949 ········//···851:·aload···········15
1082 ········//···857:·aload_2········950 ········//···853:·aload_2········
1083 ········//···858:·invokevirtual···android/os/Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V951 ········//···854:·invokevirtual···android/os/Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V
1084 ········//···861:·aload_0········952 ········//···857:·aload_0········
1085 ········//···862:·aload_1········953 ········//···858:·aload_1········
1086 ········//···863:·aconst_null····954 ········//···859:·aconst_null····
1087 ········//···864:·aload_3········955 ········//···860:·aload_3········
1088 ········//···865:·invokevirtual···android/content/ContentProviderClient.call:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;956 ········//···861:·invokevirtual···android/content/ContentProviderClient.call:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
1089 ········//···868:·astore_1·······957 ········//···864:·astore_1·······
 958 ········//···865:·aload_0········
 959 ········//···866:·ifnull··········873
1090 ········//···869:·aload_0········960 ········//···869:·aload_0········
1091 ········//···870:·ifnull··········877 
1092 ········//···873:·aload_0········ 
1093 ········//···874:·invokevirtual···android/content/ContentProviderClient.close:()V961 ········//···870:·invokevirtual···android/content/ContentProviderClient.close:()V
1094 ········//···877:·aload_1········962 ········//···873:·aload_1········
1095 ········//···878:·areturn········963 ········//···874:·areturn········
1096 ········//···879:·astore_1·······964 ········//···875:·astore_1·······
 965 ········//···876:·aload_0········
 966 ········//···877:·ifnull··········893
1097 ········//···880:·aload_0········967 ········//···880:·aload_0········
1098 ········//···881:·ifnull··········897 
1099 ········//···884:·aload_0········ 
1100 ········//···885:·invokevirtual···android/content/ContentProviderClient.close:()V968 ········//···881:·invokevirtual···android/content/ContentProviderClient.close:()V
1101 ········//···888:·goto············897969 ········//···884:·goto············893
1102 ········//···891:·astore_0·······970 ········//···887:·astore_0·······
1103 ········//···892:·aload_1········971 ········//···888:·aload_1········
1104 ········//···893:·aload_0········972 ········//···889:·aload_0········
1105 ········//···894:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V973 ········//···890:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
1106 ········//···897:·aload_1········974 ········//···893:·aload_1········
1107 ········//···898:·athrow·········975 ········//···894:·athrow·········
1108 ········//···899:·astore_0·······976 ········//···895:·astore_0·······
1109 ········//···900:·new·············Ljava/lang/IllegalStateException;977 ········//···896:·new·············Ljava/lang/IllegalStateException;
1110 ········//···903:·astore_1·······978 ········//···899:·astore_1·······
1111 ········//···904:·aload_1········979 ········//···900:·aload_1········
1112 ········//···905:·aload_0········980 ········//···901:·aload_0········
1113 ········//···906:·invokespecial···java/lang/IllegalStateException.<init>:(Ljava/lang/Throwable;)V981 ········//···902:·invokespecial···java/lang/IllegalStateException.<init>:(Ljava/lang/Throwable;)V
1114 ········//···909:·aload_1········982 ········//···905:·aload_1········
1115 ········//···910:·athrow·········983 ········//···906:·athrow·········
 984 ········//···907:·astore_1·······
 985 ········//···908:·goto············923
1116 ········//···911:·astore_1·······986 ········//···911:·astore_1·······
1117 ········//···912:·goto············927 
1118 ········//···915:·astore_1······· 
1119 ········//···916:·new·············Ljava/lang/IllegalArgumentException;987 ········//···912:·new·············Ljava/lang/IllegalArgumentException;
1120 ········//···919:·astore_2·······988 ········//···915:·astore_2·······
1121 ········//···920:·aload_2········989 ········//···916:·aload_2········
1122 ········//···921:·aload_1········990 ········//···917:·aload_1········
1123 ········//···922:·invokespecial···java/lang/IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V991 ········//···918:·invokespecial···java/lang/IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
1124 ········//···925:·aload_2········992 ········//···921:·aload_2········
1125 ········//···926:·athrow·········993 ········//···922:·athrow·········
1126 ········//···927:·aload_0········994 ········//···923:·aload_0········
1127 ········//···928:·aload···········11995 ········//···924:·aload···········11
1128 ········//···930:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V996 ········//···926:·invokevirtual···com/android/providers/media/MediaProvider.restoreLocalCallingIdentity:(Lcom/android/providers/media/LocalCallingIdentity;)V
1129 ········//···933:·aload_1········997 ········//···929:·aload_1········
1130 ········//···934:·athrow·········998 ········//···930:·athrow·········
1131 ········//···935:·aload_3········999 ········//···931:·aload_3········
1132 ········//···936:·aload···········141000 ········//···932:·aload···········14
1133 ········//···938:·invokevirtual···android/os/Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;1001 ········//···934:·invokevirtual···android/os/Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
1134 ········//···941:·astore_1·······1002 ········//···937:·astore_1·······
1135 ········//···942:·aload_1········1003 ········//···938:·aload_1········
1136 ········//···943:·invokestatic····android/provider/MediaStore$Files.getContentUri:(Ljava/lang/String;)Landroid/net/Uri;1004 ········//···939:·invokestatic····android/provider/MediaStore$Files.getContentUri:(Ljava/lang/String;)Landroid/net/Uri;
1137 ········//···946:·astore_1·······1005 ········//···942:·astore_1·······
1138 ········//···947:·aload_0········1006 ········//···943:·aload_0········
1139 ········//···948:·aload_1········1007 ········//···944:·aload_1········
1140 ········//···949:·invokespecial···com/android/providers/media/MediaProvider.getDatabaseForUri:(Landroid/net/Uri;)Lcom/android/providers/media/DatabaseHelper;1008 ········//···945:·invokespecial···com/android/providers/media/MediaProvider.getDatabaseForUri:(Landroid/net/Uri;)Lcom/android/providers/media/DatabaseHelper;
 1009 ········//···948:·astore_0·······
 1010 ········//···949:·getstatic·······com/android/providers/media/-$$Lambda$MediaProvider$mAPV7EE-uYguqHTxV8SBkmql5Yw.INSTANCE:Lcom/android/providers/media/-$$Lambda$MediaProvider$mAPV7EE-uYguqHTxV8SBkmql5Yw;
1141 ········//···952:·astore_0·······1011 ········//···952:·astore_1·······
1142 ········//···953:·getstatic·······com/android/providers/media/-$$Lambda$MediaProvider$G6gLcOfIXYUbgddyMaKNu3twCqY.INSTANCE:Lcom/android/providers/media/-$$Lambda$MediaProvider$G6gLcOfIXYUbgddyMaKNu3twCqY; 
1143 ········//···956:·astore_1······· 
1144 ········//···957:·aload_0········1012 ········//···953:·aload_0········
1145 ········//···958:·aload_1········1013 ········//···954:·aload_1········
1146 ········//···959:·invokevirtual···com/android/providers/media/DatabaseHelper.runWithoutTransaction:(Ljava/util/function/Function;)Ljava/lang/Object;1014 ········//···955:·invokevirtual···com/android/providers/media/DatabaseHelper.runWithoutTransaction:(Ljava/util/function/Function;)Ljava/lang/Object;
1147 ········//···962:·checkcast·······Ljava/lang/Long;1015 ········//···958:·checkcast·······Ljava/lang/Long;
1148 ········//···965:·invokevirtual···java/lang/Long.longValue:()J1016 ········//···961:·invokevirtual···java/lang/Long.longValue:()J
1149 ········//···968:·lstore··········161017 ········//···964:·lstore··········16
1150 ········//···970:·new·············Landroid/os/Bundle;1018 ········//···966:·new·············Landroid/os/Bundle;
1151 ········//···973:·astore_2·······1019 ········//···969:·astore_2·······
 1020 ········//···970:·aload_2········
 1021 ········//···971:·invokespecial···android/os/Bundle.<init>:()V
1152 ········//···974:·aload_2········1022 ········//···974:·aload_2········
1153 ········//···975:·invokespecial···android/os/Bundle.<init>:()V 
1154 ········//···978:·aload_2········ 
1155 ········//···979:·ldc_w···········"android.intent.extra.INDEX"1023 ········//···975:·ldc_w···········"android.intent.extra.INDEX"
1156 ········//···982:·lload···········161024 ········//···978:·lload···········16
1157 ········//···984:·invokevirtual···android/os/Bundle.putLong:(Ljava/lang/String;J)V1025 ········//···980:·invokevirtual···android/os/Bundle.putLong:(Ljava/lang/String;J)V
1158 ········//···987:·aload_2········1026 ········//···983:·aload_2········
1159 ········//···988:·areturn········1027 ········//···984:·areturn········
1160 ········//···989:·invokevirtual···com/android/providers/media/MediaProvider$FallbackException.rethrowAsIllegalArgumentException:()Ljava/lang/IllegalArgumentException;1028 ········//···985:·invokevirtual···com/android/providers/media/MediaProvider$FallbackException.rethrowAsIllegalArgumentException:()Ljava/lang/IllegalArgumentException;
1161 ········//···992:·athrow·········1029 ········//···988:·athrow·········
1162 ········//···993:·aload_3········1030 ········//···989:·aload_3········
1163 ········//···994:·aload···········141031 ········//···990:·aload···········14
1164 ········//···996:·invokevirtual···android/os/Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;1032 ········//···992:·invokevirtual···android/os/Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
1165 ········//···999:·astore_1·······1033 ········//···995:·astore_1·······
1166 ········//··1000:·aload_1········1034 ········//···996:·aload_1········
1167 ········//··1001:·invokestatic····android/provider/MediaStore$Files.getContentUri:(Ljava/lang/String;)Landroid/net/Uri;1035 ········//···997:·invokestatic····android/provider/MediaStore$Files.getContentUri:(Ljava/lang/String;)Landroid/net/Uri;
1168 ········//··1004:·astore_1·······1036 ········//··1000:·astore_1·······
1169 ········//··1005:·aload_0········1037 ········//··1001:·aload_0········
Max diff block lines reached; 528173/602744 bytes (87.63%) of diff not shown.