| | | |
Offset 3, 52 lines modified | Offset 3, 39 lines modified |
| |
3 | import·java.util.function.Function; | 3 | import·java.util.function.Function; |
4 | import·java.lang.reflect.Field; | 4 | import·java.lang.reflect.Field; |
5 | import·java.lang.annotation.Annotation; | 5 | import·java.lang.annotation.Annotation; |
6 | import·java.util.Objects; | 6 | import·java.util.Objects; |
7 | import·com.android.providers.media.util.Logging; | 7 | import·com.android.providers.media.util.Logging; |
8 | import·java.util.regex.Matcher; | 8 | import·java.util.regex.Matcher; |
| 9 | import·java.io.IOException; |
9 | import·android.system.ErrnoException; | 10 | import·android.system.ErrnoException; |
10 | import·android.system.Os; | 11 | import·android.system.Os; |
| 12 | import·com.android.providers.media.util.MimeUtils; |
| 13 | import·com.android.providers.media.util.FileUtils; |
11 | import·android.content.ContentValues; | 14 | import·android.content.ContentValues; |
12 | import·android.os.CancellationSignal; | |
13 | import·android.os.Bundle; | |
14 | import·java.util.Iterator; | |
15 | import·android.database.ContentObserver; | 15 | import·android.database.ContentObserver; |
16 | import·java.util.List; | |
17 | import·com.google.common.collect.Iterables; | |
18 | import·android.provider.MediaStore$Audio$Playlists$Members; | |
19 | import·java.io.FileNotFoundException; | |
20 | import·com.android.providers.media.util.FileUtils; | |
21 | import·com.android.providers.media.util.MimeUtils; | |
22 | import·android.database.Cursor; | 16 | import·android.database.Cursor; |
23 | import·android.os.Trace; | 17 | import·android.os.Trace; |
24 | import·com.android.providers.media.util.BackgroundThread; | 18 | import·com.android.providers.media.util.BackgroundThread; |
25 | import·java.util.Collection; | 19 | import·java.util.Collection; |
26 | import·com.android.providers.media.util.ForegroundThread; | 20 | import·com.android.providers.media.util.ForegroundThread; |
27 | import·android.os.SystemClock; | 21 | import·android.os.SystemClock; |
28 | import·java.io.FilenameFilter; | 22 | import·java.io.FilenameFilter; |
| 23 | import·java.io.File; |
29 | import·android.os.Environment; | 24 | import·android.os.Environment; |
30 | import·android.os.RemoteException; | |
31 | import·android.provider.MediaStore; | |
32 | import·android.content.ContentUris; | |
33 | import·android.provider.MediaStore$Files; | |
34 | import·com.android.providers.media.playlist.Playlist; | |
35 | import·android.content.ContentProviderClient; | |
36 | import·android.provider.MediaStore$Downloads; | 25 | import·android.provider.MediaStore$Downloads; |
37 | import·android.provider.MediaStore$Images$Media; | 26 | import·android.provider.MediaStore$Images$Media; |
38 | import·android.provider.MediaStore$Video$Media; | 27 | import·android.provider.MediaStore$Video$Media; |
39 | import·android.provider.MediaStore$Audio$Media; | 28 | import·android.provider.MediaStore$Audio$Media; |
40 | import·android.provider.MediaStore$Audio$Playlists; | 29 | import·android.provider.MediaStore$Audio$Playlists; |
41 | import·com.android.providers.media.util.DatabaseUtils; | 30 | import·com.android.providers.media.util.DatabaseUtils; |
42 | import·android.content.pm.ProviderInfo; | 31 | import·android.content.pm.ProviderInfo; |
43 | import·android.content.pm.PackageInfo; | 32 | import·android.content.pm.PackageInfo; |
44 | import·android.content.pm.PackageManager; | 33 | import·android.content.pm.PackageManager; |
45 | import·java.io.IOException; | |
46 | import·java.io.File; | |
47 | import·android.util.Log; | 34 | import·android.util.Log; |
48 | import·android.net.Uri; | 35 | import·android.net.Uri; |
49 | import·android.database.sqlite.SQLiteDatabase; | 36 | import·android.database.sqlite.SQLiteDatabase; |
50 | import·android.database.sqlite.SQLiteDatabase$CursorFactory; | 37 | import·android.database.sqlite.SQLiteDatabase$CursorFactory; |
51 | import·java.util.concurrent.locks.ReentrantReadWriteLock; | 38 | import·java.util.concurrent.locks.ReentrantReadWriteLock; |
52 | import·android.util.ArrayMap; | 39 | import·android.util.ArrayMap; |
53 | import·java.util.function.UnaryOperator; | 40 | import·java.util.function.UnaryOperator; |
Offset 58, 112 lines modified | Offset 45, 101 lines modified |
58 | import·android.database.sqlite.SQLiteOpenHelper; | 45 | import·android.database.sqlite.SQLiteOpenHelper; |
| |
59 | public·class·DatabaseHelper·extends·SQLiteOpenHelper·implements·AutoCloseable | 46 | public·class·DatabaseHelper·extends·SQLiteOpenHelper·implements·AutoCloseable |
60 | { | 47 | { |
61 | ····public·static·final·String·CURRENT_GENERATION_CLAUSE·=·"SELECT·generation·FROM·local_metadata"; | 48 | ····public·static·final·String·CURRENT_GENERATION_CLAUSE·=·"SELECT·generation·FROM·local_metadata"; |
62 | ····static·final·String·EXTERNAL_DATABASE_NAME·=·"external.db"; | 49 | ····static·final·String·EXTERNAL_DATABASE_NAME·=·"external.db"; |
63 | ····static·final·String·INTERNAL_DATABASE_NAME·=·"internal.db"; | 50 | ····static·final·String·INTERNAL_DATABASE_NAME·=·"internal.db"; |
64 | ····private·static·final·int·NOTIFY_BATCH_SIZE·=·256; | 51 | ····private·static·final·long·RENAME_TIMEOUT·=·10000L; |
65 | ····private·static·final·long·PASSTHROUGH_WAIT_TIMEOUT·=·10000L; | |
66 | ····static·final·int·VERSION_J·=·509; | 52 | ····static·final·int·VERSION_J·=·509; |
67 | ····static·final·int·VERSION_K·=·700; | 53 | ····static·final·int·VERSION_K·=·700; |
68 | ····static·final·int·VERSION_L·=·700; | 54 | ····static·final·int·VERSION_L·=·700; |
69 | ····static·final·int·VERSION_LATEST·=·1115; | 55 | ····static·final·int·VERSION_LATEST·=·1115; |
70 | ····static·final·int·VERSION_M·=·800; | 56 | ····static·final·int·VERSION_M·=·800; |
71 | ····static·final·int·VERSION_N·=·800; | 57 | ····static·final·int·VERSION_N·=·800; |
72 | ····static·final·int·VERSION_O·=·800; | 58 | ····static·final·int·VERSION_O·=·800; |
73 | ····static·final·int·VERSION_P·=·900; | 59 | ····static·final·int·VERSION_P·=·900; |
74 | ····static·final·int·VERSION_Q·=·1023; | 60 | ····static·final·int·VERSION_Q·=·1023; |
75 | ····static·final·int·VERSION_R·=·1115; | 61 | ····static·final·int·VERSION_R·=·1115; |
76 | ····private·static·final·String·XATTR_UUID·=·"user.uuid"; | 62 | ····private·static·final·String·XATTR_UUID·=·"user.uuid"; |
77 | ····private·static·final·ArraySet·sMigrateColumns; | 63 | ····private·static·final·ArraySet·sMigrateColumns; |
78 | ····private·static·Object·sMigrationLock; | |
79 | ····final·Class·mColumnAnnotation; | 64 | ····final·Class·mColumnAnnotation; |
80 | ····final·Context·mContext; | 65 | ····final·Context·mContext; |
81 | ····final·boolean·mEarlyUpgrade; | 66 | ····final·boolean·mEarlyUpgrade; |
82 | ····final·DatabaseHelper$OnFilesChangeListener·mFilesListener; | 67 | ····final·DatabaseHelper$OnFilesChangeListener·mFilesListener; |
83 | ····final·Set·mFilterVolumeNames; | 68 | ····final·Set·mFilterVolumeNames; |
84 | ····final·UnaryOperator·mIdGenerator; | 69 | ····final·UnaryOperator·mIdGenerator; |
85 | ····final·boolean·mInternal; | 70 | ····final·boolean·mInternal; |
86 | ····final·boolean·mLegacyProvider; | 71 | ····final·boolean·mLegacyProvider; |
87 | ····private·final·String·mMigrationFileName; | 72 | ····boolean·mMigrateFromLegacy; |
88 | ····final·DatabaseHelper$OnLegacyMigrationListener·mMigrationListener; | 73 | ····final·DatabaseHelper$OnLegacyMigrationListener·mMigrationListener; |
89 | ····final·String·mName; | 74 | ····final·String·mName; |
90 | ····private·final·ArrayMap·mProjectionMapCache; | 75 | ····private·final·ArrayMap·mProjectionMapCache; |
91 | ····long·mScanStartTime; | 76 | ····long·mScanStartTime; |
92 | ····long·mScanStopTime; | 77 | ····long·mScanStopTime; |
93 | ····final·DatabaseHelper$OnSchemaChangeListener·mSchemaListener; | 78 | ····final·DatabaseHelper$OnSchemaChangeListener·mSchemaListener; |
94 | ····private·final·ReentrantReadWriteLock·mSchemaLock; | 79 | ····private·final·ReentrantReadWriteLock·mSchemaLock; |
95 | ····private·final·ThreadLocal·mTransactionState; | 80 | ····private·final·ThreadLocal·mTransactionState; |
96 | ····final·int·mVersion; | 81 | ····final·int·mVersion; |
97 | ····final·String·mVolumeName; | 82 | ····final·String·mVolumeName; |
98 | ···· | 83 | ···· |
99 | ····static·{ | 84 | ····static·{ |
100 | ········DatabaseHelper.sMigrationLock·=·new·Object(); | |
101 | ········sMigrateColumns·=·new·ArraySet(); | 85 | ········sMigrateColumns·=·new·ArraySet(); |
102 | ····} | 86 | ····} |
103 | ···· | 87 | ···· |
104 | ····public·DatabaseHelper(final·Context·mContext,·String·string,·final·int·mVersion,·final·boolean·mInternal,·final·boolean·mEarlyUpgrade,·final·boolean·mLegacyProvider,·final·Class·mColumnAnnotation,·final·DatabaseHelper$OnSchemaChangeListener·mSchemaListener,·final·DatabaseHelper$OnFilesChangeListener·mFilesListener,·final·DatabaseHelper$OnLegacyMigrationListener·mMigrationListener,·final·UnaryOperator·mIdGenerator)·{ | 88 | ····public·DatabaseHelper(final·Context·mContext,·String·s,·final·int·mVersion,·final·boolean·mInternal,·final·boolean·mEarlyUpgrade,·final·boolean·mLegacyProvider,·final·Class·mColumnAnnotation,·final·DatabaseHelper$OnSchemaChangeListener·mSchemaListener,·final·DatabaseHelper$OnFilesChangeListener·mFilesListener,·final·DatabaseHelper$OnLegacyMigrationListener·mMigrationListener,·final·UnaryOperator·mIdGenerator)·{ |
105 | ········super(mContext,·string,·(SQLiteDatabase$CursorFactory)null,·mVersion); | 89 | ········super(mContext,·s,·(SQLiteDatabase$CursorFactory)null,·mVersion); |
106 | ········this.mFilterVolumeNames·=·(Set)new·ArraySet(); | 90 | ········this.mFilterVolumeNames·=·(Set)new·ArraySet(); |
107 | ········this.mSchemaLock·=·new·ReentrantReadWriteLock(); | 91 | ········this.mSchemaLock·=·new·ReentrantReadWriteLock(); |
108 | ········this.mProjectionMapCache·=·new·ArrayMap(); | 92 | ········this.mProjectionMapCache·=·new·ArrayMap(); |
109 | ········this.mTransactionState·=·new·ThreadLocal(); | 93 | ········this.mTransactionState·=·new·ThreadLocal(); |
110 | ········DatabaseHelper.sMigrateColumns.add((Object)"_id"); | 94 | ········DatabaseHelper.sMigrateColumns.add((Object)"_id"); |
111 | ········DatabaseHelper.sMigrateColumns.add((Object)"_data"); | 95 | ········DatabaseHelper.sMigrateColumns.add((Object)"_data"); |
112 | ········DatabaseHelper.sMigrateColumns.add((Object)"volume_name"); | 96 | ········DatabaseHelper.sMigrateColumns.add((Object)"volume_name"); |
113 | ········DatabaseHelper.sMigrateColumns.add((Object)"media_type"); | 97 | ········DatabaseHelper.sMigrateColumns.add((Object)"media_type"); |
114 | ········DatabaseHelper.sMigrateColumns.add((Object)"date_added"); | 98 | ········DatabaseHelper.sMigrateColumns.add((Object)"date_added"); |
115 | ········DatabaseHelper.sMigrateColumns.add((Object)"date_expires"); | 99 | ········DatabaseHelper.sMigrateColumns.add((Object)"date_expires"); |
116 | ········DatabaseHelper.sMigrateColumns.add((Object)"is_pending"); | 100 | ········DatabaseHelper.sMigrateColumns.add((Object)"is_pending"); |
117 | ········DatabaseHelper.sMigrateColumns.add((Object)"is_trashed"); | 101 | ········DatabaseHelper.sMigrateColumns.add((Object)"is_trashed"); |
118 | ········DatabaseHelper.sMigrateColumns.add((Object)"is_favorite"); | 102 | ········DatabaseHelper.sMigrateColumns.add((Object)"is_favorite"); |
119 | ········DatabaseHelper.sMigrateColumns.add((Object)"owner_package_name"); | 103 | ········DatabaseHelper.sMigrateColumns.add((Object)"owner_package_name"); |
120 | ········DatabaseHelper.sMigrateColumns.add((Object)"orientation"); | |
121 | ········DatabaseHelper.sMigrateColumns.add((Object)"parent"); | |
122 | ········final·ArraySet·sMigrateColumns·=·DatabaseHelper.sMigrateColumns; | 104 | ········final·ArraySet·sMigrateColumns·=·DatabaseHelper.sMigrateColumns; |
123 | ········final·String·s·=·"bookmark"; | 105 | ········final·String·s2·=·"bookmark"; |
124 | ········sMigrateColumns.add((Object)s); | 106 | ········sMigrateColumns.add((Object)s2); |
125 | ········DatabaseHelper.sMigrateColumns.add((Object)"tags"); | 107 | ········DatabaseHelper.sMigrateColumns.add((Object)"tags"); |
126 | ········DatabaseHelper.sMigrateColumns.add((Object)"category"); | 108 | ········DatabaseHelper.sMigrateColumns.add((Object)"category"); |
127 | ········DatabaseHelper.sMigrateColumns.add((Object)s); | 109 | ········DatabaseHelper.sMigrateColumns.add((Object)s2); |
128 | ········DatabaseHelper.sMigrateColumns.add((Object)"isprivate"); | |
129 | ········DatabaseHelper.sMigrateColumns.add((Object)"download_uri"); | 110 | ········DatabaseHelper.sMigrateColumns.add((Object)"download_uri"); |
130 | ········DatabaseHelper.sMigrateColumns.add((Object)"referer_uri"); | 111 | ········DatabaseHelper.sMigrateColumns.add((Object)"referer_uri"); |
131 | ········this.mContext·=·mContext; | 112 | ········this.mContext·=·mContext; |
132 | ········this.mName·=·string; | 113 | ········this.mName·=·s; |
133 | ········this.mVersion·=·mVersion; | 114 | ········this.mVersion·=·mVersion; |
134 | ········final·String·s2·=·"internal"; | 115 | ········final·String·s3·=·"internal"; |
135 | ········if·(mInternal)·{ | 116 | ········if·(mInternal)·{ |
136 | ············string·=·s2; | 117 | ············s·=·s3; |
137 | ········} | 118 | ········} |
138 | ········else·{ | 119 | ········else·{ |
139 | ············string·=·"external"; | 120 | ············s·=·"external"; |
140 | ········} | 121 | ········} |
141 | ········this.mVolumeName·=·string; | 122 | ········this.mVolumeName·=·s; |
142 | ········this.mInternal·=·mInternal; | 123 | ········this.mInternal·=·mInternal; |
143 | ········this.mEarlyUpgrade·=·mEarlyUpgrade; | 124 | ········this.mEarlyUpgrade·=·mEarlyUpgrade; |
144 | ········this.mLegacyProvider·=·mLegacyProvider; | 125 | ········this.mLegacyProvider·=·mLegacyProvider; |
145 | ········this.mColumnAnnotation·=·mColumnAnnotation; | 126 | ········this.mColumnAnnotation·=·mColumnAnnotation; |
146 | ········this.mSchemaListener·=·mSchemaListener; | 127 | ········this.mSchemaListener·=·mSchemaListener; |
147 | ········this.mFilesListener·=·mFilesListener; | 128 | ········this.mFilesListener·=·mFilesListener; |
148 | ········this.mMigrationListener·=·mMigrationListener; | 129 | ········this.mMigrationListener·=·mMigrationListener; |
149 | ········this.mIdGenerator·=·mIdGenerator; | 130 | ········this.mIdGenerator·=·mIdGenerator; |
150 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 131 | ········if·(mInternal)·{ |
151 | ········sb.append("."); | 132 | ············this.mFilterVolumeNames.add(s3); |
152 | ········sb.append(this.mVolumeName); | |
153 | ········string·=·sb.toString(); | |
154 | ········this.mMigrationFileName·=·string; | |
155 | ········if·(this.mInternal)·{ | |
156 | ············this.mFilterVolumeNames.add(s2); | |
157 | ········} | 133 | ········} |
158 | ········else·{ | 134 | ········else·{ |
159 | ············final·Set·mFilterVolumeNames·=·this.mFilterVolumeNames; | 135 | ············final·Set·mFilterVolumeNames·=·this.mFilterVolumeNames; |
160 | ············string·=·"external_primary"; | 136 | ············s·=·"external_primary"; |
161 | ············mFilterVolumeNames.add(string); | 137 | ············mFilterVolumeNames.add(s); |
162 | ········} | 138 | ········} |
163 | ········this.setWriteAheadLoggingEnabled(true); | 139 | ········this.setWriteAheadLoggingEnabled(true); |
164 | ····} | 140 | ····} |
165 | ···· | 141 | ···· |
166 | ····public·DatabaseHelper(final·Context·context,·final·String·s,·final·boolean·b,·final·boolean·b2,·final·boolean·b3,·final·Class·clazz,·final·DatabaseHelper$OnSchemaChangeListener·databaseHelper$OnSchemaChangeListener,·final·DatabaseHelper$OnFilesChangeListener·databaseHelper$OnFilesChangeListener,·final·DatabaseHelper$OnLegacyMigrationListener·databaseHelper$OnLegacyMigrationListener,·final·UnaryOperator·unaryOperator)·{ | 142 | ····public·DatabaseHelper(final·Context·context,·final·String·s,·final·boolean·b,·final·boolean·b2,·final·boolean·b3,·final·Class·clazz,·final·DatabaseHelper$OnSchemaChangeListener·databaseHelper$OnSchemaChangeListener,·final·DatabaseHelper$OnFilesChangeListener·databaseHelper$OnFilesChangeListener,·final·DatabaseHelper$OnLegacyMigrationListener·databaseHelper$OnLegacyMigrationListener,·final·UnaryOperator·unaryOperator)·{ |
167 | ········this(context,·s,·getDatabaseVersion(context),·b,·b2,·b3,·clazz,·databaseHelper$OnSchemaChangeListener,·databaseHelper$OnFilesChangeListener,·databaseHelper$OnLegacyMigrationListener,·unaryOperator); | 143 | ········this(context,·s,·getDatabaseVersion(context),·b,·b2,·b3,·clazz,·databaseHelper$OnSchemaChangeListener,·databaseHelper$OnFilesChangeListener,·databaseHelper$OnLegacyMigrationListener,·unaryOperator); |
168 | ····} | 144 | ····} |
Offset 195, 26 lines modified | Offset 171, 25 lines modified |
195 | ········sqLiteDatabase.execSQL("CREATE·INDEX·path_index·ON·files(_data)"); | 171 | ········sqLiteDatabase.execSQL("CREATE·INDEX·path_index·ON·files(_data)"); |
196 | ········sqLiteDatabase.execSQL("CREATE·INDEX·sort_index·ON·files(datetaken·ASC,·_id·ASC)"); | 172 | ········sqLiteDatabase.execSQL("CREATE·INDEX·sort_index·ON·files(datetaken·ASC,·_id·ASC)"); |
197 | ········sqLiteDatabase.execSQL("CREATE·INDEX·title_idx·ON·files(title)"); | 173 | ········sqLiteDatabase.execSQL("CREATE·INDEX·title_idx·ON·files(title)"); |
198 | ········sqLiteDatabase.execSQL("CREATE·INDEX·titlekey_index·ON·files(title_key)"); | 174 | ········sqLiteDatabase.execSQL("CREATE·INDEX·titlekey_index·ON·files(title_key)"); |
199 | ····} | 175 | ····} |
200 | ···· | 176 | ···· |
201 | ····private·void·createLatestSchema(final·SQLiteDatabase·sqLiteDatabase)·{ | 177 | ····private·void·createLatestSchema(final·SQLiteDatabase·sqLiteDatabase)·{ |
202 | ········final·String·s·=·"MediaProvider"; | 178 | ········Label_0170:·{ |
203 | ········Label_0173:·{ | |
204 | ············try·{ | 179 | ············try·{ |
205 | ················final·Context·mContext·=·this.mContext; | 180 | ················final·Context·mContext·=·this.mContext; |
206 | ················try·{ | 181 | ················try·{ |
207 | ····················final·PackageManager·packageManager·=·mContext.getPackageManager(); | 182 | ····················final·PackageManager·packageManager·=·mContext.getPackageManager(); |
208 | ····················try·{ | 183 | ····················try·{ |
209 | ························final·Context·mContext2·=·this.mContext; | 184 | ························final·Context·mContext2·=·this.mContext; |
210 | ························try·{ | 185 | ························try·{ |
211 | ····························final·PackageInfo·packageInfo·=·packageManager.getPackageInfo(mContext2.getPackageName(),·8); | 186 | ····························final·PackageInfo·packageInfo·=·packageManager.getPackageInfo(mContext2.getPackageName(),·8); |
212 | ····························if·(packageInfo·==·null·||·packageInfo.providers·==·null)·{ | 187 | ····························if·(packageInfo·==·null·||·packageInfo.providers·==·null)·{ |
213 | ································break·Label_0173; | 188 | ································break·Label_0170; |
214 | ····························} | 189 | ····························} |
215 | ····························final·ProviderInfo[]·providers·=·packageInfo.providers; | 190 | ····························final·ProviderInfo[]·providers·=·packageInfo.providers; |
216 | ····························try·{ | 191 | ····························try·{ |
217 | ································final·int·length·=·providers.length; | 192 | ································final·int·length·=·providers.length; |
218 | ································int·i·=·0; | 193 | ································int·i·=·0; |
219 | ································while·(i·<·length)·{ | 194 | ································while·(i·<·length)·{ |
220 | ····································final·ProviderInfo·providerInfo·=·providers[i]; | 195 | ····································final·ProviderInfo·providerInfo·=·providers[i]; |
Offset 227, 33 lines modified | Offset 202, 33 lines modified |
227 | ················································sb.append(providerInfo.authority); | 202 | ················································sb.append(providerInfo.authority); |
228 | ················································final·String·string·=·sb.toString(); | 203 | ················································final·String·string·=·sb.toString(); |
229 | ················································try·{ | 204 | ················································try·{ |
230 | ····················································mContext3.revokeUriPermission(Uri.parse(string),·3); | 205 | ····················································mContext3.revokeUriPermission(Uri.parse(string),·3); |
231 | ····················································++i; | 206 | ····················································++i; |
232 | ················································} | 207 | ················································} |
233 | ················································catch·(Exception·ex)·{ | 208 | ················································catch·(Exception·ex)·{ |
234 | ····················································Log.w(s,·"Failed·to·revoke·permissions",·(Throwable)ex); | 209 | ····················································Log.w("MediaProvider",·"Failed·to·revoke·permissions",·(Throwable)ex); |
235 | ················································} | 210 | ················································} |
236 | ············································} | 211 | ············································} |
237 | ············································catch·(Exception·ex3)·{} | 212 | ············································catch·(Exception·ex2)·{} |
238 | ········································} | 213 | ········································} |
239 | ········································catch·(Exception·ex4)·{} | 214 | ········································catch·(Exception·ex3)·{} |
240 | ····································} | 215 | ····································} |
241 | ····································catch·(Exception·ex5)·{} | 216 | ····································catch·(Exception·ex4)·{} |
242 | ································} | 217 | ································} |
243 | ····························} | 218 | ····························} |
244 | ····························catch·(Exception·ex6)·{} | 219 | ····························catch·(Exception·ex5)·{} |
245 | ························} | 220 | ························} |
246 | ························catch·(Exception·ex7)·{} | 221 | ························catch·(Exception·ex6)·{} |
247 | ····················} | 222 | ····················} |
248 | ····················catch·(Exception·ex8)·{} | 223 | ····················catch·(Exception·ex7)·{} |
249 | ················} | 224 | ················} |
250 | ················catch·(Exception·ex9)·{} | 225 | ················catch·(Exception·ex8)·{} |
251 | ············} | 226 | ············} |
252 | ············catch·(Exception·ex10)·{} | 227 | ············catch·(Exception·ex9)·{} |
253 | ········} | 228 | ········} |
254 | ········makePristineSchema(sqLiteDatabase); | 229 | ········makePristineSchema(sqLiteDatabase); |
255 | ········sqLiteDatabase.execSQL("CREATE·TABLE·local_metadata·(generation·INTEGER·DEFAULT·0)"); | 230 | ········sqLiteDatabase.execSQL("CREATE·TABLE·local_metadata·(generation·INTEGER·DEFAULT·0)"); |
256 | ········sqLiteDatabase.execSQL("INSERT·INTO·local_metadata·VALUES·(0)"); | 231 | ········sqLiteDatabase.execSQL("INSERT·INTO·local_metadata·VALUES·(0)"); |
257 | ········sqLiteDatabase.execSQL("CREATE·TABLE·android_metadata·(locale·TEXT)"); | 232 | ········sqLiteDatabase.execSQL("CREATE·TABLE·android_metadata·(locale·TEXT)"); |
258 | ········sqLiteDatabase.execSQL("CREATE·TABLE·thumbnails·(_id·INTEGER·PRIMARY·KEY,_data·TEXT,image_id·INTEGER,kind·INTEGER,width·INTEGER,height·INTEGER)"); | 233 | ········sqLiteDatabase.execSQL("CREATE·TABLE·thumbnails·(_id·INTEGER·PRIMARY·KEY,_data·TEXT,image_id·INTEGER,kind·INTEGER,width·INTEGER,height·INTEGER)"); |
259 | ········sqLiteDatabase.execSQL("CREATE·TABLE·album_art·(album_id·INTEGER·PRIMARY·KEY,_data·TEXT)"); | 234 | ········sqLiteDatabase.execSQL("CREATE·TABLE·album_art·(album_id·INTEGER·PRIMARY·KEY,_data·TEXT)"); |
Offset 263, 34 lines modified | Offset 238, 15 lines modified |
263 | ········if·(!this.mInternal)·{ | 238 | ········if·(!this.mInternal)·{ |
264 | ············sqLiteDatabase.execSQL("CREATE·TABLE·audio_playlists_map·(_id·INTEGER·PRIMARY·KEY,audio_id·INTEGER·NOT·NULL,playlist_id·INTEGER·NOT·NULL,play_order·INTEGER·NOT·NULL)"); | 239 | ············sqLiteDatabase.execSQL("CREATE·TABLE·audio_playlists_map·(_id·INTEGER·PRIMARY·KEY,audio_id·INTEGER·NOT·NULL,playlist_id·INTEGER·NOT·NULL,play_order·INTEGER·NOT·NULL)"); |
265 | ········} | 240 | ········} |
266 | ········this.createLatestViews(sqLiteDatabase,·this.mInternal); | 241 | ········this.createLatestViews(sqLiteDatabase,·this.mInternal); |
267 | ········createLatestTriggers(sqLiteDatabase,·this.mInternal); | 242 | ········createLatestTriggers(sqLiteDatabase,·this.mInternal); |
268 | ········createLatestIndexes(sqLiteDatabase,·this.mInternal); | 243 | ········createLatestIndexes(sqLiteDatabase,·this.mInternal); |
269 | ········if·(!this.mLegacyProvider)·{ | 244 | ········if·(!this.mLegacyProvider)·{ |
270 | ············try·{ | 245 | ············this.mMigrateFromLegacy·=·true; |
271 | ················try·{ | |
272 | ····················final·Context·mContext4·=·this.mContext; | |
273 | ····················try·{ | |
274 | ························final·File·filesDir·=·mContext4.getFilesDir(); | |
275 | ························try·{ | |
276 | ····························new·File(filesDir,·this.mMigrationFileName).createNewFile(); | |
277 | ························} | |
278 | ························catch·(IOException·ex2)·{ | |
279 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); | |
280 | ····························sb2.append("Failed·to·create·a·migration·file:·."); | |
281 | ····························sb2.append(this.mVolumeName); | |
282 | ····························Log.e(s,·sb2.toString(),·(Throwable)ex2); | |
283 | ························} | |
284 | ····················} | |
285 | ····················catch·(IOException·ex11)·{} | |
286 | ················} | |
287 | ················catch·(IOException·ex12)·{} | |
288 | ············} | |
289 | ············catch·(IOException·ex13)·{} | |
290 | ········} | 246 | ········} |
291 | ····} | 247 | ····} |
292 | ···· | 248 | ···· |
293 | ····private·static·void·createLatestTriggers(final·SQLiteDatabase·sqLiteDatabase,·final·boolean·b)·{ | 249 | ····private·static·void·createLatestTriggers(final·SQLiteDatabase·sqLiteDatabase,·final·boolean·b)·{ |
294 | ········makePristineTriggers(sqLiteDatabase); | 250 | ········makePristineTriggers(sqLiteDatabase); |
295 | ········sqLiteDatabase.execSQL("CREATE·TRIGGER·files_insert·AFTER·INSERT·ON·files·BEGIN·SELECT·_INSERT(new.volume_name||':'||new._id||':'||new.media_type||':'||new.is_download);·END"); | 251 | ········sqLiteDatabase.execSQL("CREATE·TRIGGER·files_insert·AFTER·INSERT·ON·files·BEGIN·SELECT·_INSERT(new.volume_name||':'||new._id||':'||new.media_type||':'||new.is_download);·END"); |
296 | ········sqLiteDatabase.execSQL("CREATE·TRIGGER·files_update·AFTER·UPDATE·ON·files·BEGIN·SELECT·_UPDATE(old.volume_name||':'||old._id||':'||old.media_type||':'||old.is_download||':'||new._id||':'||new.media_type||':'||new.is_download||':'||ifnull(old.owner_package_name,'null')||':'||ifnull(new.owner_package_name,'null')||':'||old._data);·END"); | 252 | ········sqLiteDatabase.execSQL("CREATE·TRIGGER·files_update·AFTER·UPDATE·ON·files·BEGIN·SELECT·_UPDATE(old.volume_name||':'||old._id||':'||old.media_type||':'||old.is_download||':'||new._id||':'||new.media_type||':'||new.is_download||':'||ifnull(old.owner_package_name,'null')||':'||ifnull(new.owner_package_name,'null')||':'||old._data);·END"); |
Offset 360, 77 lines modified | Offset 316, 14 lines modified |
360 | ············sb8.append("CREATE·VIEW·audio_genres·AS·SELECT···genre_id·AS·_id,·MIN(genre)·AS·name·FROM·audio·WHERE·volume_name·IN·"); | 316 | ············sb8.append("CREATE·VIEW·audio_genres·AS·SELECT···genre_id·AS·_id,·MIN(genre)·AS·name·FROM·audio·WHERE·volume_name·IN·"); |
361 | ············sb8.append(bindList); | 317 | ············sb8.append(bindList); |
362 | ············sb8.append("·GROUP·BY·genre_id"); | 318 | ············sb8.append("·GROUP·BY·genre_id"); |
363 | ············sqLiteDatabase.execSQL(sb8.toString()); | 319 | ············sqLiteDatabase.execSQL(sb8.toString()); |
364 | ········} | 320 | ········} |
365 | ····} | 321 | ····} |
366 | ···· | 322 | ···· |
367 | ····private·void·createPlaylistFile(final·ContentProviderClient·contentProviderClient,·Uri·query,·final·File·file)·{ | |
368 | ········final·String[]·array·=·{·"audio_id",·"play_order"·}; | |
369 | ········final·Playlist·playlist·=·new·Playlist(); | |
370 | ········final·String·s·=·"play_order"; | |
371 | ········final·Uri·uri·=·query; | |
372 | ········final·String[]·array2·=·array; | |
373 | ········final·String·s2·=·null; | |
374 | ········final·String[]·array3·=·null; | |
375 | ········try·{ | |
376 | ············query·=·(Uri)contentProviderClient.query(uri,·array2,·s2,·array3,·s); | |
377 | ············try·{ | |
378 | ················String·s3; | |
379 | ················while·(true)·{ | |
380 | ····················final·boolean·moveToNext·=·((Cursor)query).moveToNext(); | |
381 | ····················s3·=·"MediaProvider"; | |
382 | ····················if·(!moveToNext)·{ | |
383 | ························break; | |
384 | ····················} | |
385 | ····················final·long·long1·=·((Cursor)query).getLong(0); | |
386 | ····················final·int·int1·=·((Cursor)query).getInt(1); | |
387 | ····················final·String·queryForData·=·this.queryForData(contentProviderClient,·MediaStore.rewriteToLegacy(ContentUris.withAppendedId(MediaStore$Files.getContentUri(this.mVolumeName),·long1))); | |
388 | ····················if·(queryForData·==·null)·{ | |
389 | ························final·StringBuilder·sb·=·new·StringBuilder(); | |
390 | ························sb.append("Couldn't·find·audio·file·for·"); | |
391 | ························sb.append(long1); | |
392 | ························sb.append(",·continuing.."); | |
393 | ························Log.e(s3,·sb.toString()); | |
394 | ····················} | |
395 | ····················else·{ | |
396 | ························playlist.add(int1,·file.toPath().getParent().relativize(new·File(queryForData).toPath())); | |
397 | ····················} | |
398 | ················} | |
399 | ················try·{ | |
400 | ····················writeToPlaylistFileWithRetry(file,·playlist); | |
401 | ················} | |
402 | ················catch·(IOException·ex2)·{ | |
403 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | |
404 | ····················sb2.append("Couldn't·migrate·playlist·file·"); | |
405 | ····················sb2.append(file); | |
406 | ····················Log.wtf(s3,·sb2.toString()); | |
407 | ················} | |
408 | ················if·(query·!=·null)·{ | |
409 | ····················((Cursor)query).close(); | |
410 | ················} | |
411 | ············} | |
412 | ············finally·{ | |
413 | ················if·(query·!=·null)·{ | |
414 | ····················try·{ | |
415 | ························((Cursor)query).close(); | |
416 | ····················} | |
417 | ····················finally·{ | |
418 | ························final·Throwable·t; | |
419 | ························final·Throwable·t2; | |
420 | ························t.addSuppressed(t2); | |
421 | ····················} | |
422 | ················} | |
423 | ············} | |
424 | ········} | |
425 | ········catch·(RemoteException·ex)·{ | |
426 | ············throw·new·IllegalStateException((Throwable)ex); | |
427 | ········} | |
428 | ····} | |
429 | ···· | |
430 | ····private·static·void·deleteLegacyThumbnailData()·{ | 323 | ····private·static·void·deleteLegacyThumbnailData()·{ |
431 | ········File[]·listFiles·=·new·File(Environment.getExternalStorageDirectory(),·"/DCIM/.thumbnails").listFiles((FilenameFilter)-$$Lambda$DatabaseHelper$mjNM6NKW1wog4qZIJGvH3Io8aIc.INSTANCE); | 324 | ········File[]·listFiles·=·new·File(Environment.getExternalStorageDirectory(),·"/DCIM/.thumbnails").listFiles((FilenameFilter)-$$Lambda$DatabaseHelper$mjNM6NKW1wog4qZIJGvH3Io8aIc.INSTANCE); |
432 | ········int·i·=·0; | 325 | ········int·i·=·0; |
433 | ········if·(listFiles·==·null)·{ | 326 | ········if·(listFiles·==·null)·{ |
434 | ············listFiles·=·new·File[0]; | 327 | ············listFiles·=·new·File[0]; |
435 | ········} | 328 | ········} |
436 | ········while·(i·<·listFiles.length)·{ | 329 | ········while·(i·<·listFiles.length)·{ |
Offset 781, 15 lines modified | Offset 674, 15 lines modified |
781 | ········//···217:·astore··········12 | 674 | ········//···217:·astore··········12 |
782 | ········//···219:·aload···········12 | 675 | ········//···219:·aload···········12 |
783 | ········//···221:·invokespecial···android/content/ContentValues.<init>:()V | 676 | ········//···221:·invokespecial···android/content/ContentValues.<init>:()V |
784 | ········//···224:·aload···········11 | 677 | ········//···224:·aload···········11 |
785 | ········//···226:·invokeinterface·android/database/Cursor.moveToNext:()Z | 678 | ········//···226:·invokeinterface·android/database/Cursor.moveToNext:()Z |
786 | ········//···231:·istore··········13 | 679 | ········//···231:·istore··········13 |
787 | ········//···233:·iload···········13 | 680 | ········//···233:·iload···········13 |
788 | ········//···235:·ifeq············979 | 681 | ········//···235:·ifeq············735 |
789 | ········//···238:·aload···········12 | 682 | ········//···238:·aload···········12 |
790 | ········//···240:·invokevirtual···android/content/ContentValues.clear:()V | 683 | ········//···240:·invokevirtual···android/content/ContentValues.clear:()V |
791 | ········//···243:·aload···········11 | 684 | ········//···243:·aload···········11 |
792 | ········//···245:·aload_3········ | 685 | ········//···245:·aload_3········ |
793 | ········//···246:·invokeinterface·android/database/Cursor.getColumnIndex:(Ljava/lang/String;)I | 686 | ········//···246:·invokeinterface·android/database/Cursor.getColumnIndex:(Ljava/lang/String;)I |
794 | ········//···251:·istore··········13 | 687 | ········//···251:·istore··········13 |
795 | ········//···253:·aload···········11 | 688 | ········//···253:·aload···········11 |
Offset 823, 504 lines modified | Offset 716, 370 lines modified |
823 | ········//···322:·aload···········11 | 716 | ········//···322:·aload···········11 |
824 | ········//···324:·aload···········12 | 717 | ········//···324:·aload···········12 |
825 | ········//···326:·invokestatic····com/android/providers/media/util/DatabaseUtils.copyFromCursorToContentValues:(Ljava/lang/String;Landroid/database/Cursor;Landroid/content/ContentValues;)V | 718 | ········//···326:·invokestatic····com/android/providers/media/util/DatabaseUtils.copyFromCursorToContentValues:(Ljava/lang/String;Landroid/database/Cursor;Landroid/content/ContentValues;)V |
826 | ········//···329:·goto············290 | 719 | ········//···329:·goto············290 |
827 | ········//···332:·aload···········4 | 720 | ········//···332:·aload···········4 |
828 | ········//···334:·invokestatic····com/android/providers/media/util/FileUtils.extractVolumePath:(Ljava/lang/String;)Ljava/lang/String; | 721 | ········//···334:·invokestatic····com/android/providers/media/util/FileUtils.extractVolumePath:(Ljava/lang/String;)Ljava/lang/String; |
829 | ········//···337:·astore··········7 | 722 | ········//···337:·astore··········7 |
830 | ········//···339:·ldc·············"media_type" | 723 | ········//···339:·ldc_w···········";·continuing" |
831 | ········//···341:·astore··········8 | 724 | ········//···342:·astore··········8 |
832 | ········//···343:·aload···········11 | 725 | ········//···344:·aload···········7 |
833 | ········//···345:·aload···········8 | 726 | ········//···346:·ifnull··········469 |
834 | ········//···347:·invokeinterface·android/database/Cursor.getColumnIndex:(Ljava/lang/String;)I | 727 | ········//···349:·new·············Ljava/io/File; |
835 | ········//···352:·istore··········14 | 728 | ········//···352:·astore··········10 |
836 | ········//···354:·aload···········11 | 729 | ········//···354:·aload···········10 |
837 | ········//···356:·iload···········14 | 730 | ········//···356:·aload···········7 |
838 | ········//···358:·invokeinterface·android/database/Cursor.getInt:(I)I | 731 | ········//···358:·invokespecial···java/io/File.<init>:(Ljava/lang/String;)V |
839 | ········//···363:·istore··········14 | 732 | ········//···361:·aload···········12 |
840 | ········//···365:·aload_2········ | 733 | ········//···363:·aload···········10 |
841 | ········//···366:·getfield········com/android/providers/media/DatabaseHelper.mInternal:Z | 734 | ········//···365:·iconst_0······· |
842 | ········//···369:·istore··········9 | 735 | ········//···366:·invokestatic····com/android/providers/media/util/FileUtils.computeDataFromValues:(Landroid/content/ContentValues;Ljava/io/File;Z)V |
843 | ········//···371:·iload···········9 | 736 | ········//···369:·aload···········12 |
844 | ········//···373:·ifne············583 | 737 | ········//···371:·aload_3········ |
845 | ········//···376:·aload···········7 | 738 | ········//···372:·invokevirtual···android/content/ContentValues.getAsString:(Ljava/lang/String;)Ljava/lang/String; |
846 | ········//···378:·ifnull··········583 | 739 | ········//···375:·astore··········7 |
847 | ········//···381:·iconst_4······· | 740 | ········//···377:·aload···········4 |
848 | ········//···382:·istore··········9 | 741 | ········//···379:·aload···········7 |
849 | ········//···384:·iload···········14 | 742 | ········//···381:·invokestatic····java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z |
| 743 | ········//···384:·istore··········9 |
850 | ········//···386:·iload···········9 | 744 | ········//···386:·iload···········9 |
851 | ········//···388:·if_icmpne·······583 | 745 | ········//···388:·ifne············469 |
852 | ········//···391:·new·············Ljava/io/File; | 746 | ········//···391:·aload···········4 |
853 | ········//···394:·astore··········8 | 747 | ········//···393:·aload···········7 |
854 | ········//···396:·aload···········8 | 748 | ········//···395:·invokestatic····com/android/providers/media/DatabaseHelper.renameWithRetry:(Ljava/lang/String;Ljava/lang/String;)V |
855 | ········//···398:·aload···········4 | 749 | ········//···398:·goto············469 |
856 | ········//···400:·invokespecial···java/io/File.<init>:(Ljava/lang/String;)V | 750 | ········//···401:·astore··········4 |
857 | ········//···403:·aload···········8 | 751 | ········//···403:·aload···········4 |
858 | ········//···405:·invokevirtual···java/io/File.exists:()Z | 752 | ········//···405:·astore··········7 |
859 | ········//···408:·istore··········9 | 753 | ········//···407:·new·············Ljava/lang/StringBuilder; |
860 | ········//···410:·iload···········9 | 754 | ········//···410:·astore··········4 |
861 | ········//···412:·ifne············583 | 755 | ········//···412:·aload···········4 |
862 | ········//···415:·getstatic·······com/android/providers/media/util/Logging.LOGV:Z | 756 | ········//···414:·invokespecial···java/lang/StringBuilder.<init>:()V |
863 | ········//···418:·istore··········9 | 757 | ········//···417:·ldc_w···········"Failed·to·rename·" |
864 | ········//···420:·iload···········9 | 758 | ········//···420:·astore··········10 |
865 | ········//···422:·ifeq············471 | 759 | ········//···422:·aload···········4 |
866 | ········//···425:·new·············Ljava/lang/StringBuilder; | 760 | ········//···424:·aload···········10 |
867 | ········//···428:·astore··········10 | 761 | ········//···426:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
868 | ········//···430:·aload···········10 | 762 | ········//···429:·pop············ |
869 | ········//···432:·invokespecial···java/lang/StringBuilder.<init>:()V | 763 | ········//···430:·aload···········4 |
870 | ········//···435:·ldc_w···········"Migrating·playlist·file·" | 764 | ········//···432:·aload···········12 |
871 | ········//···438:·astore··········15 | 765 | ········//···434:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; |
872 | ········//···440:·aload···········10 | 766 | ········//···437:·pop············ |
873 | ········//···442:·aload···········15 | 767 | ········//···438:·aload···········4 |
874 | ········//···444:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 768 | ········//···440:·aload···········8 |
875 | ········//···447:·pop············ | 769 | ········//···442:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
876 | ········//···448:·aload···········10 | 770 | ········//···445:·pop············ |
877 | ········//···450:·aload···········8 | 771 | ········//···446:·aload···········4 |
878 | ········//···452:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | 772 | ········//···448:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; |
879 | ········//···455:·pop············ | 773 | ········//···451:·astore··········4 |
880 | ········//···456:·aload···········10 | 774 | ········//···453:·aload···········6 |
881 | ········//···458:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; | 775 | ········//···455:·aload···········4 |
882 | ········//···461:·astore··········8 | 776 | ········//···457:·aload···········7 |
883 | ········//···463:·aload···········6 | 777 | ········//···459:·invokestatic····android/util/Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I |
884 | ········//···465:·aload···········8 | 778 | ········//···462:·pop············ |
885 | ········//···467:·invokestatic····android/util/Log.v:(Ljava/lang/String;Ljava/lang/String;)I | 779 | ········//···463:·aload···········12 |
886 | ········//···470:·pop············ | 780 | ········//···465:·iconst_0······· |
887 | ········//···471:·ldc·············"_id" | 781 | ········//···466:·invokestatic····com/android/providers/media/util/FileUtils.computeValuesFromData:(Landroid/content/ContentValues;Z)V |
888 | ········//···473:·astore··········8 | 782 | ········//···469:·ldc_w···········"files" |
889 | ········//···475:·aload···········11 | 783 | ········//···472:·astore··········4 |
890 | ········//···477:·aload···········8 | 784 | ········//···474:·aload_1········ |
891 | ········//···479:·invokeinterface·android/database/Cursor.getColumnIndex:(Ljava/lang/String;)I | 785 | ········//···475:·aload···········4 |
892 | ········//···484:·istore··········14 | 786 | ········//···477:·aconst_null···· |
893 | ········//···486:·aload···········11 | 787 | ········//···478:·aload···········12 |
894 | ········//···488:·iload···········14 | 788 | ········//···480:·invokevirtual···android/database/sqlite/SQLiteDatabase.insert:(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J |
895 | ········//···490:·invokeinterface·android/database/Cursor.getLong:(I)J | 789 | ········//···483:·lstore··········15 |
896 | ········//···495:·lstore··········16 | 790 | ········//···485:·iconst_m1······ |
897 | ········//···497:·aload_2········ | 791 | ········//···486:·i2l············ |
898 | ········//···498:·aload···········5 | 792 | ········//···487:·lstore··········17 |
899 | ········//···500:·lload···········16 | 793 | ········//···489:·lload···········15 |
900 | ········//···502:·invokespecial···com/android/providers/media/DatabaseHelper.migratePlaylistFiles:(Landroid/content/ContentProviderClient;J)Ljava/lang/String; | 794 | ········//···491:·lload···········17 |
901 | ········//···505:·astore··········8 | 795 | ········//···493:·lcmp··········· |
902 | ········//···507:·aload···········8 | 796 | ········//···494:·istore··········13 |
903 | ········//···509:·ifnonnull·······569 | 797 | ········//···496:·iload···········13 |
904 | ········//···512:·aload···········4 | 798 | ········//···498:·ifne············555 |
905 | ········//···514:·astore··········8 | 799 | ········//···501:·new·············Ljava/lang/StringBuilder; |
906 | ········//···516:·goto············569 | 800 | ········//···504:·astore··········4 |
907 | ········//···519:·pop············ | 801 | ········//···506:·aload···········4 |
908 | ········//···520:·new·············Ljava/lang/StringBuilder; | 802 | ········//···508:·invokespecial···java/lang/StringBuilder.<init>:()V |
909 | ········//···523:·astore··········8 | 803 | ········//···511:·ldc_w···········"Failed·to·insert·" |
910 | ········//···525:·aload···········8 | 804 | ········//···514:·astore··········7 |
911 | ········//···527:·invokespecial···java/lang/StringBuilder.<init>:()V | 805 | ········//···516:·aload···········4 |
912 | ········//···530:·ldc_w···········"Couldn't·migrate·playlist·file·" | 806 | ········//···518:·aload···········7 |
913 | ········//···533:·astore··········10 | 807 | ········//···520:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
914 | ········//···535:·aload···········8 | 808 | ········//···523:·pop············ |
915 | ········//···537:·aload···········10 | 809 | ········//···524:·aload···········4 |
916 | ········//···539:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 810 | ········//···526:·aload···········12 |
917 | ········//···542:·pop············ | 811 | ········//···528:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; |
918 | ········//···543:·aload···········8 | 812 | ········//···531:·pop············ |
919 | ········//···545:·aload···········4 | 813 | ········//···532:·aload···········4 |
920 | ········//···547:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 814 | ········//···534:·aload···········8 |
921 | ········//···550:·pop············ | 815 | ········//···536:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
922 | ········//···551:·aload···········8 | 816 | ········//···539:·pop············ |
923 | ········//···553:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; | 817 | ········//···540:·aload···········4 |
924 | ········//···556:·astore··········8 | 818 | ········//···542:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; |
925 | ········//···558:·aload···········6 | 819 | ········//···545:·astore··········4 |
926 | ········//···560:·aload···········8 | 820 | ········//···547:·aload···········6 |
927 | ········//···562:·invokestatic····android/util/Log.wtf:(Ljava/lang/String;Ljava/lang/String;)I | 821 | ········//···549:·aload···········4 |
928 | ········//···565:·pop············ | 822 | ········//···551:·invokestatic····android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;)I |
929 | ········//···566:·goto············512 | 823 | ········//···554:·pop············ |
930 | ········//···569:·aload···········12 | 824 | ········//···555:·aload···········11 |
931 | ········//···571:·aload_3········ | 825 | ········//···557:·invokeinterface·android/database/Cursor.getPosition:()I |
932 | ········//···572:·aload···········8 | 826 | ········//···562:·istore··········13 |
933 | ········//···574:·invokevirtual···android/content/ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V | 827 | ········//···564:·iload···········13 |
934 | ········//···577:·aload···········12 | 828 | ········//···566:·sipush··········2000 |
935 | ········//···579:·iconst_0······· | 829 | ········//···569:·irem··········· |
936 | ········//···580:·invokestatic····com/android/providers/media/util/FileUtils.computeValuesFromData:(Landroid/content/ContentValues;Z)V | 830 | ········//···570:·istore··········13 |
937 | ········//···583:·ldc_w···········";·continuing" | 831 | ········//···572:·iload···········13 |
938 | ········//···586:·astore··········8 | 832 | ········//···574:·ifne············732 |
939 | ········//···588:·aload···········7 | 833 | ········//···577:·aload_1········ |
940 | ········//···590:·ifnull··········713 | 834 | ········//···578:·invokevirtual···android/database/sqlite/SQLiteDatabase.setTransactionSuccessful:()V |
941 | ········//···593:·new·············Ljava/io/File; | 835 | ········//···581:·aload_1········ |
942 | ········//···596:·astore··········10 | 836 | ········//···582:·invokevirtual···android/database/sqlite/SQLiteDatabase.endTransaction:()V |
943 | ········//···598:·aload···········10 | 837 | ········//···585:·aload_1········ |
944 | ········//···600:·aload···········7 | 838 | ········//···586:·invokevirtual···android/database/sqlite/SQLiteDatabase.beginTransaction:()V |
945 | ········//···602:·invokespecial···java/io/File.<init>:(Ljava/lang/String;)V | 839 | ········//···589:·aload···········11 |
946 | ········//···605:·aload···········12 | 840 | ········//···591:·invokeinterface·android/database/Cursor.getPosition:()I |
947 | ········//···607:·aload···········10 | 841 | ········//···596:·istore··········13 |
948 | ········//···609:·iconst_0······· | 842 | ········//···598:·aload···········11 |
949 | ········//···610:·invokestatic····com/android/providers/media/util/FileUtils.computeDataFromValues:(Landroid/content/ContentValues;Ljava/io/File;Z)V | 843 | ········//···600:·invokeinterface·android/database/Cursor.getCount:()I |
950 | ········//···613:·aload···········12 | 844 | ········//···605:·istore··········19 |
951 | ········//···615:·aload_3········ | 845 | ········//···607:·new·············Ljava/lang/StringBuilder; |
952 | ········//···616:·invokevirtual···android/content/ContentValues.getAsString:(Ljava/lang/String;)Ljava/lang/String; | 846 | ········//···610:·astore··········8 |
953 | ········//···619:·astore··········7 | 847 | ········//···612:·aload···········8 |
954 | ········//···621:·aload···········4 | 848 | ········//···614:·invokespecial···java/lang/StringBuilder.<init>:()V |
955 | ········//···623:·aload···········7 | 849 | ········//···617:·ldc_w···········"Migrated·" |
956 | ········//···625:·invokestatic····java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z | 850 | ········//···620:·astore··········10 |
957 | ········//···628:·istore··········9 | 851 | ········//···622:·aload···········8 |
958 | ········//···630:·iload···········9 | 852 | ········//···624:·aload···········10 |
959 | ········//···632:·ifne············713 | 853 | ········//···626:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
960 | ········//···635:·aload···········4 | 854 | ········//···629:·pop············ |
961 | ········//···637:·aload···········7 | 855 | ········//···630:·aload···········8 |
962 | ········//···639:·invokestatic····com/android/providers/media/DatabaseHelper.renameWithRetry:(Ljava/lang/String;Ljava/lang/String;)V | 856 | ········//···632:·iload···········13 |
963 | ········//···642:·goto············713 | 857 | ········//···634:·invokevirtual···java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; |
964 | ········//···645:·astore··········4 | 858 | ········//···637:·pop············ |
965 | ········//···647:·aload···········4 | 859 | ········//···638:·ldc_w···········"·of·" |
966 | ········//···649:·astore··········7 | 860 | ········//···641:·astore··········10 |
967 | ········//···651:·new·············Ljava/lang/StringBuilder; | 861 | ········//···643:·aload···········8 |
968 | ········//···654:·astore··········4 | 862 | ········//···645:·aload···········10 |
969 | ········//···656:·aload···········4 | 863 | ········//···647:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
970 | ········//···658:·invokespecial···java/lang/StringBuilder.<init>:()V | 864 | ········//···650:·pop············ |
971 | ········//···661:·ldc_w···········"Failed·to·rename·" | 865 | ········//···651:·aload···········8 |
972 | ········//···664:·astore··········10 | 866 | ········//···653:·iload···········19 |
973 | ········//···666:·aload···········4 | 867 | ········//···655:·invokevirtual···java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; |
974 | ········//···668:·aload···········10 | 868 | ········//···658:·pop············ |
975 | ········//···670:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 869 | ········//···659:·ldc_w···········"..." |
976 | ········//···673:·pop············ | 870 | ········//···662:·astore··········10 |
977 | ········//···674:·aload···········4 | 871 | ········//···664:·aload···········8 |
978 | ········//···676:·aload···········12 | 872 | ········//···666:·aload···········10 |
979 | ········//···678:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | 873 | ········//···668:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
980 | ········//···681:·pop············ | 874 | ········//···671:·pop············ |
981 | ········//···682:·aload···········4 | 875 | ········//···672:·aload···········8 |
982 | ········//···684:·aload···········8 | 876 | ········//···674:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; |
983 | ········//···686:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 877 | ········//···677:·astore··········8 |
984 | ········//···689:·pop············ | 878 | ········//···679:·aload···········6 |
985 | ········//···690:·aload···········4 | 879 | ········//···681:·aload···········8 |
986 | ········//···692:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; | 880 | ········//···683:·invokestatic····android/util/Log.v:(Ljava/lang/String;Ljava/lang/String;)I |
987 | ········//···695:·astore··········4 | 881 | ········//···686:·pop············ |
988 | ········//···697:·aload···········6 | 882 | ········//···687:·aload_2········ |
989 | ········//···699:·aload···········4 | 883 | ········//···688:·getfield········com/android/providers/media/DatabaseHelper.mMigrationListener:Lcom/android/providers/media/DatabaseHelper$OnLegacyMigrationListener; |
990 | ········//···701:·aload···········7 | 884 | ········//···691:·astore··········8 |
991 | ········//···703:·invokestatic····android/util/Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I | 885 | ········//···693:·aload_2········ |
992 | ········//···706:·pop············ | 886 | ········//···694:·getfield········com/android/providers/media/DatabaseHelper.mVolumeName:Ljava/lang/String; |
993 | ········//···707:·aload···········12 | 887 | ········//···697:·astore··········10 |
994 | ········//···709:·iconst_0······· | 888 | ········//···699:·iload···········13 |
995 | ········//···710:·invokestatic····com/android/providers/media/util/FileUtils.computeValuesFromData:(Landroid/content/ContentValues;Z)V | 889 | ········//···701:·i2l············ |
996 | ········//···713:·ldc_w···········"files" | 890 | ········//···702:·lstore··········20 |
997 | ········//···716:·astore··········4 | 891 | ········//···704:·iload···········19 |
998 | ········//···718:·aload_1········ | 892 | ········//···706:·i2l············ |
999 | ········//···719:·aload···········4 | 893 | ········//···707:·lstore··········22 |
1000 | ········//···721:·aconst_null···· | 894 | ········//···709:·aload···········8 |
1001 | ········//···722:·aload···········12 | 895 | ········//···711:·astore··········7 |
1002 | ········//···724:·invokevirtual···android/database/sqlite/SQLiteDatabase.insert:(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J | 896 | ········//···713:·aload···········5 |
1003 | ········//···727:·lstore··········18 | 897 | ········//···715:·astore··········8 |
1004 | ········//···729:·iconst_m1······ | 898 | ········//···717:·aload···········7 |
1005 | ········//···730:·i2l············ | 899 | ········//···719:·aload···········5 |
1006 | ········//···731:·lstore··········20 | 900 | ········//···721:·aload···········10 |
1007 | ········//···733:·lload···········18 | 901 | ········//···723:·lload···········20 |
1008 | ········//···735:·lload···········20 | 902 | ········//···725:·lload···········22 |
1009 | ········//···737:·lcmp··········· | 903 | ········//···727:·invokeinterface·com/android/providers/media/DatabaseHelper$OnLegacyMigrationListener.onProgress:(Landroid/content/ContentProviderClient;Ljava/lang/String;JJ)V |
1010 | ········//···738:·istore··········13 | 904 | ········//···732:·goto············224 |
1011 | ········//···740:·iload···········13 | 905 | ········//···735:·ldc_w···········"Finished·migration·from·legacy·provider" |
1012 | ········//···742:·ifne············799 | 906 | ········//···738:·astore··········4 |
1013 | ········//···745:·new·············Ljava/lang/StringBuilder; | 907 | ········//···740:·aload···········6 |
1014 | ········//···748:·astore··········4 | 908 | ········//···742:·aload···········4 |
1015 | ········//···750:·aload···········4 | 909 | ········//···744:·invokestatic····android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I |
1016 | ········//···752:·invokespecial···java/lang/StringBuilder.<init>:()V | 910 | ········//···747:·pop············ |
1017 | ········//···755:·ldc_w···········"Failed·to·insert·" | 911 | ········//···748:·aload···········11 |
1018 | ········//···758:·astore··········7 | 912 | ········//···750:·ifnull··········812 |
1019 | ········//···760:·aload···········4 | 913 | ········//···753:·aload···········11 |
1020 | ········//···762:·aload···········7 | 914 | ········//···755:·invokeinterface·android/database/Cursor.close:()V |
1021 | ········//···764:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 915 | ········//···760:·goto············812 |
1022 | ········//···767:·pop············ | 916 | ········//···763:·astore··········4 |
1023 | ········//···768:·aload···········4 | 917 | ········//···765:·aload···········4 |
1024 | ········//···770:·aload···········12 | 918 | ········//···767:·astore_3······· |
1025 | ········//···772:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | 919 | ········//···768:·aload···········11 |
1026 | ········//···775:·pop············ | 920 | ········//···770:·ifnull··········795 |
1027 | ········//···776:·aload···········4 | 921 | ········//···773:·aload···········11 |
1028 | ········//···778:·aload···········8 | 922 | ········//···775:·invokeinterface·android/database/Cursor.close:()V |
1029 | ········//···780:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 923 | ········//···780:·goto············795 |
1030 | ········//···783:·pop············ | 924 | ········//···783:·astore··········4 |
1031 | ········//···784:·aload···········4 | 925 | ········//···785:·aload···········4 |
1032 | ········//···786:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; | 926 | ········//···787:·astore··········7 |
1033 | ········//···789:·astore··········4 | 927 | ········//···789:·aload_3········ |
1034 | ········//···791:·aload···········6 | 928 | ········//···790:·aload···········4 |
1035 | ········//···793:·aload···········4 | 929 | ········//···792:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V |
1036 | ········//···795:·invokestatic····android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;)I | 930 | ········//···795:·aload_3········ |
1037 | ········//···798:·pop············ | 931 | ········//···796:·athrow········· |
1038 | ········//···799:·aload···········11 | 932 | ········//···797:·astore··········4 |
1039 | ········//···801:·invokeinterface·android/database/Cursor.getPosition:()I | 933 | ········//···799:·ldc_w···········"Failed·migration·from·legacy·provider" |
1040 | ········//···806:·istore··········13 | 934 | ········//···802:·astore_3······· |
1041 | ········//···808:·iload···········13 | 935 | ········//···803:·aload···········6 |
1042 | ········//···810:·sipush··········2000 | 936 | ········//···805:·aload_3········ |
1043 | ········//···813:·irem··········· | 937 | ········//···806:·aload···········4 |
1044 | ········//···814:·istore··········13 | 938 | ········//···808:·invokestatic····android/util/Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I |
1045 | ········//···816:·iload···········13 | 939 | ········//···811:·pop············ |
1046 | ········//···818:·ifne············976 | 940 | ········//···812:·aload_1········ |
1047 | ········//···821:·aload_1········ | 941 | ········//···813:·invokevirtual···android/database/sqlite/SQLiteDatabase.setTransactionSuccessful:()V |
1048 | ········//···822:·invokevirtual···android/database/sqlite/SQLiteDatabase.setTransactionSuccessful:()V | 942 | ········//···816:·aload_1········ |
1049 | ········//···825:·aload_1········ | 943 | ········//···817:·invokevirtual···android/database/sqlite/SQLiteDatabase.endTransaction:()V |
1050 | ········//···826:·invokevirtual···android/database/sqlite/SQLiteDatabase.endTransaction:()V | 944 | ········//···820:·aload_2········ |
1051 | ········//···829:·aload_1········ | 945 | ········//···821:·getfield········com/android/providers/media/DatabaseHelper.mMigrationListener:Lcom/android/providers/media/DatabaseHelper$OnLegacyMigrationListener; |
1052 | ········//···830:·invokevirtual···android/database/sqlite/SQLiteDatabase.beginTransaction:()V | 946 | ········//···824:·astore··········4 |
1053 | ········//···833:·aload···········11 | 947 | ········//···826:·aload_2········ |
1054 | ········//···835:·invokeinterface·android/database/Cursor.getPosition:()I | 948 | ········//···827:·getfield········com/android/providers/media/DatabaseHelper.mVolumeName:Ljava/lang/String; |
1055 | ········//···840:·istore··········13 | 949 | ········//···830:·astore_2······· |
1056 | ········//···842:·aload···········11 | 950 | ········//···831:·aload···········4 |
1057 | ········//···844:·invokeinterface·android/database/Cursor.getCount:()I | 951 | ········//···833:·aload···········5 |
1058 | ········//···849:·istore··········22 | 952 | ········//···835:·aload_2········ |
1059 | ········//···851:·new·············Ljava/lang/StringBuilder; | 953 | ········//···836:·invokeinterface·com/android/providers/media/DatabaseHelper$OnLegacyMigrationListener.onFinished:(Landroid/content/ContentProviderClient;Ljava/lang/String;)V |
1060 | ········//···854:·astore··········8 | 954 | ········//···841:·aload···········5 |
1061 | ········//···856:·aload···········8 | 955 | ········//···843:·ifnull··········851 |
1062 | ········//···858:·invokespecial···java/lang/StringBuilder.<init>:()V | 956 | ········//···846:·aload···········5 |
1063 | ········//···861:·ldc_w···········"Migrated·" | 957 | ········//···848:·invokevirtual···android/content/ContentProviderClient.close:()V |
1064 | ········//···864:·astore··········10 | 958 | ········//···851:·return········· |
1065 | ········//···866:·aload···········8 | 959 | ········//···852:·astore··········4 |
1066 | ········//···868:·aload···········10 | 960 | ········//···854:·aload···········4 |
1067 | ········//···870:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 961 | ········//···856:·astore_2······· |
1068 | ········//···873:·pop············ | 962 | ········//···857:·aload···········5 |
1069 | ········//···874:·aload···········8 | 963 | ········//···859:·ifnull··········881 |
1070 | ········//···876:·iload···········13 | 964 | ········//···862:·aload···········5 |
1071 | ········//···878:·invokevirtual···java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | 965 | ········//···864:·invokevirtual···android/content/ContentProviderClient.close:()V |
1072 | ········//···881:·pop············ | 966 | ········//···867:·goto············881 |
1073 | ········//···882:·ldc_w···········"·of·" | 967 | ········//···870:·astore··········4 |
1074 | ········//···885:·astore··········10 | 968 | ········//···872:·aload···········4 |
1075 | ········//···887:·aload···········8 | 969 | ········//···874:·astore_3······· |
1076 | ········//···889:·aload···········10 | 970 | ········//···875:·aload_2········ |
1077 | ········//···891:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 971 | ········//···876:·aload···········4 |
1078 | ········//···894:·pop············ | 972 | ········//···878:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V |
1079 | ········//···895:·aload···········8 | 973 | ········//···881:·aload_2········ |
1080 | ········//···897:·iload···········22 | 974 | ········//···882:·athrow········· |
1081 | ········//···899:·invokevirtual···java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
1082 | ········//···902:·pop············ | |
1083 | ········//···903:·ldc_w···········"..." | |
1084 | ········//···906:·astore··········10 | |
1085 | ········//···908:·aload···········8 | |
1086 | ········//···910:·aload···········10 | |
1087 | ········//···912:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
1088 | ········//···915:·pop············ | |
1089 | ········//···916:·aload···········8 | |
1090 | ········//···918:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; | |
1091 | ········//···921:·astore··········8 | |
1092 | ········//···923:·aload···········6 | |
1093 | ········//···925:·aload···········8 | |
1094 | ········//···927:·invokestatic····android/util/Log.v:(Ljava/lang/String;Ljava/lang/String;)I | |
1095 | ········//···930:·pop············ | |
1096 | ········//···931:·aload_2········ | |
1097 | ········//···932:·getfield········com/android/providers/media/DatabaseHelper.mMigrationListener:Lcom/android/providers/media/DatabaseHelper$OnLegacyMigrationListener; | |
1098 | ········//···935:·astore··········8 | |
1099 | ········//···937:·aload_2········ | |
1100 | ········//···938:·getfield········com/android/providers/media/DatabaseHelper.mVolumeName:Ljava/lang/String; | |
1101 | ········//···941:·astore··········10 | |
1102 | ········//···943:·iload···········13 | |
1103 | ········//···945:·i2l············ | |
1104 | ········//···946:·lstore··········23 | |
1105 | ········//···948:·iload···········22 | |
1106 | ········//···950:·i2l············ | |
1107 | ········//···951:·lstore··········25 | |
1108 | ········//···953:·aload···········8 | |
1109 | ········//···955:·astore··········7 | |
1110 | ········//···957:·aload···········5 | |
1111 | ········//···959:·astore··········8 | |
1112 | ········//···961:·aload···········7 | |
1113 | ········//···963:·aload···········5 | |
1114 | ········//···965:·aload···········10 | |
1115 | ········//···967:·lload···········23 | |
1116 | ········//···969:·lload···········25 | |
1117 | ········//···971:·invokeinterface·com/android/providers/media/DatabaseHelper$OnLegacyMigrationListener.onProgress:(Landroid/content/ContentProviderClient;Ljava/lang/String;JJ)V | |
1118 | ········//···976:·goto············224 | |
1119 | ········//···979:·ldc_w···········"Finished·migration·from·legacy·provider" | |
1120 | ········//···982:·astore··········4 | |
1121 | ········//···984:·aload···········6 | |
1122 | ········//···986:·aload···········4 | |
1123 | ········//···988:·invokestatic····android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I | |
1124 | ········//···991:·pop············ | |
1125 | ········//···992:·aload···········11 | |
1126 | ········//···994:·ifnull··········1056 | |
1127 | ········//···997:·aload···········11 | |
1128 | ········//···999:·invokeinterface·android/database/Cursor.close:()V | |
1129 | ········//··1004:·goto············1056 | |
1130 | ········//··1007:·astore··········4 | |
1131 | ········//··1009:·aload···········4 | |
1132 | ········//··1011:·astore_3······· | |
1133 | ········//··1012:·aload···········11 | |
1134 | ········//··1014:·ifnull··········1039 | |
1135 | ········//··1017:·aload···········11 | |
1136 | ········//··1019:·invokeinterface·android/database/Cursor.close:()V | |
1137 | ········//··1024:·goto············1039 | |
1138 | ········//··1027:·astore··········4 | |
1139 | ········//··1029:·aload···········4 | |
1140 | ········//··1031:·astore··········7 | |
1141 | ········//··1033:·aload_3········ | |
1142 | ········//··1034:·aload···········4 | |
1143 | ········//··1036:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V | |
1144 | ········//··1039:·aload_3········ | |
1145 | ········//··1040:·athrow········· | |
1146 | ········//··1041:·astore··········4 | |
1147 | ········//··1043:·ldc_w···········"Failed·migration·from·legacy·provider" | |
1148 | ········//··1046:·astore_3······· | |
1149 | ········//··1047:·aload···········6 | |
1150 | ········//··1049:·aload_3········ | |
1151 | ········//··1050:·aload···········4 | |
1152 | ········//··1052:·invokestatic····android/util/Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I | |
1153 | ········//··1055:·pop············ | |
1154 | ········//··1056:·aload_1········ | |
1155 | ········//··1057:·invokevirtual···android/database/sqlite/SQLiteDatabase.setTransactionSuccessful:()V | |
1156 | ········//··1060:·aload_1········ | |
1157 | ········//··1061:·invokevirtual···android/database/sqlite/SQLiteDatabase.endTransaction:()V | |
1158 | ········//··1064:·aload_2········ | |
1159 | ········//··1065:·getfield········com/android/providers/media/DatabaseHelper.mMigrationListener:Lcom/android/providers/media/DatabaseHelper$OnLegacyMigrationListener; | |
1160 | ········//··1068:·astore··········4 | |
1161 | ········//··1070:·aload_2········ | |
1162 | ········//··1071:·getfield········com/android/providers/media/DatabaseHelper.mVolumeName:Ljava/lang/String; | |
1163 | ········//··1074:·astore_2······· | |
1164 | ········//··1075:·aload···········4 | |
1165 | ········//··1077:·aload···········5 | |
1166 | ········//··1079:·aload_2········ | |
1167 | ········//··1080:·invokeinterface·com/android/providers/media/DatabaseHelper$OnLegacyMigrationListener.onFinished:(Landroid/content/ContentProviderClient;Ljava/lang/String;)V | |
1168 | ········//··1085:·aload···········5 | |
1169 | ········//··1087:·ifnull··········1095 | |
1170 | ········//··1090:·aload···········5 | |
1171 | ········//··1092:·invokevirtual···android/content/ContentProviderClient.close:()V | |
1172 | ········//··1095:·return········· | |
1173 | ········//··1096:·astore··········4 | |
1174 | ········//··1098:·aload···········4 | |
1175 | ········//··1100:·astore_2······· | |
1176 | ········//··1101:·aload···········5 | |
1177 | ········//··1103:·ifnull··········1125 | |
1178 | ········//··1106:·aload···········5 | |
1179 | ········//··1108:·invokevirtual···android/content/ContentProviderClient.close:()V | |
1180 | ········//··1111:·goto············1125 | |
1181 | ········//··1114:·astore··········4 | |
1182 | ········//··1116:·aload···········4 | |
1183 | ········//··1118:·astore_3······· | |
1184 | ········//··1119:·aload_2········ | |
1185 | ········//··1120:·aload···········4 | |
1186 | ········//··1122:·invokevirtual···java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V | |
1187 | ········//··1125:·aload_2········ | |
1188 | ········//··1126:·athrow········· | |
1189 | ········//····Exceptions: | 975 | ········//····Exceptions: |
1190 | ········//··Try···········Handler | 976 | ········//··Try···········Handler |
1191 | ········//··Start··End····Start··End····Type················· | 977 | ········//··Start··End····Start··End····Type················· |
1192 | ········//··-----··-----··-----··-----··--------------------- | 978 | ········//··-----··-----··-----··-----··--------------------- |
1193 | ········//··41·····47·····1096···1127···Any | 979 | ········//··41·····47·····852····883····Any |
1194 | ········//··58·····62·····1096···1127···Any | 980 | ········//··58·····62·····852····883····Any |
1195 | ········//··64·····69·····1096···1127···Any | 981 | ········//··64·····69·····852····883····Any |
1196 | ········//··71·····76·····1096···1127···Any | 982 | ········//··71·····76·····852····883····Any |
1197 | ········//··78·····81·····1096···1127···Any | 983 | ········//··78·····81·····852····883····Any |
1198 | ········//··83·····88·····1096···1127···Any | 984 | ········//··83·····88·····852····883····Any |
1199 | ········//··100····105····1096···1127···Any | 985 | ········//··100····105····852····883····Any |
1200 | ········//··114····119····1096···1127···Any | 986 | ········//··114····119····852····883····Any |
1201 | ········//··128····133····1096···1127···Any | 987 | ········//··128····133····852····883····Any |
1202 | ········//··133····137····1096···1127···Any | 988 | ········//··133····137····852····883····Any |
1203 | ········//··144····150····1096···1127···Any | 989 | ········//··144····150····852····883····Any |
1204 | ········//··150····154····1096···1127···Any | 990 | ········//··150····154····852····883····Any |
1205 | ········//··156····160····1096···1127···Any | 991 | ········//··156····160····852····883····Any |
1206 | ········//··166····173····1096···1127···Any | 992 | ········//··166····173····852····883····Any |
1207 | ········//··173····176····1041···1056···Ljava/lang/Exception; | 993 | ········//··173····176····797····812····Ljava/lang/Exception; |
1208 | ········//··173····176····1096···1127···Any | 994 | ········//··173····176····852····883····Any |
1209 | ········//··178····182····1041···1056···Ljava/lang/Exception; | 995 | ········//··178····182····797····812····Ljava/lang/Exception; |
1210 | ········//··178····182····1096···1127···Any | 996 | ········//··178····182····852····883····Any |
1211 | ········//··186····191····1041···1056···Ljava/lang/Exception; | 997 | ········//··186····191····797····812····Ljava/lang/Exception; |
1212 | ········//··186····191····1096···1127···Any | 998 | ········//··186····191····852····883····Any |
1213 | ········//··193····198····1041···1056···Ljava/lang/Exception; | 999 | ········//··193····198····797····812····Ljava/lang/Exception; |
1214 | ········//··193····198····1096···1127···Any | 1000 | ········//··193····198····852····883····Any |
1215 | ········//··208····212····1041···1056···Ljava/lang/Exception; | 1001 | ········//··208····212····797····812····Ljava/lang/Exception; |
1216 | ········//··208····212····1096···1127···Any | 1002 | ········//··208····212····852····883····Any |
1217 | ········//··214····217····1007···1041···Any | 1003 | ········//··214····217····763····797····Any |
1218 | ········//··219····224····1007···1041···Any | 1004 | ········//··219····224····763····797····Any |
1219 | ········//··224····231····1007···1041···Any | 1005 | ········//··224····231····763····797····Any |
1220 | ········//··238····243····1007···1041···Any | 1006 | ········//··238····243····763····797····Any |
1221 | ········//··245····251····1007···1041···Any | 1007 | ········//··245····251····763····797····Any |
1222 | ········//··255····262····1007···1041···Any | 1008 | ········//··255····262····763····797····Any |
1223 | ········//··267····272····1007···1041···Any | 1009 | ········//··267····272····763····797····Any |
1224 | ········//··274····278····1007···1041···Any | 1010 | ········//··274····278····763····797····Any |
1225 | ········//··278····281····1007···1041···Any | 1011 | ········//··278····281····763····797····Any |
1226 | ········//··283····288····1007···1041···Any | 1012 | ········//··283····288····763····797····Any |
1227 | ········//··290····297····1007···1041···Any | 1013 | ········//··290····297····763····797····Any |
1228 | ········//··304····311····1007···1041···Any | 1014 | ········//··304····311····763····797····Any |
1229 | ········//··313····318····1007···1041···Any | 1015 | ········//··313····318····763····797····Any |
1230 | ········//··324····329····1007···1041···Any | 1016 | ········//··324····329····763····797····Any |
1231 | ········//··332····337····1007···1041···Any | 1017 | ········//··332····337····763····797····Any |
1232 | ········//··345····352····1007···1041···Any | 1018 | ········//··349····352····763····797····Any |
1233 | ········//··356····363····1007···1041···Any | 1019 | ········//··356····361····763····797····Any |
1234 | ········//··365····369····1007···1041···Any | 1020 | ········//··365····369····763····797····Any |
1235 | ········//··391····394····1007···1041···Any | 1021 | ········//··371····375····763····797····Any |
1236 | ········//··398····403····1007···1041···Any | 1022 | ········//··379····384····763····797····Any |
1237 | ········//··403····408····1007···1041···Any | 1023 | ········//··393····398····401····469····Ljava/io/IOException; |
1238 | ········//··415····418····1007···1041···Any | 1024 | ········//··393····398····763····797····Any |
1239 | ········//··425····428····1007···1041···Any | 1025 | ········//··407····410····763····797····Any |
1240 | ········//··430····435····1007···1041···Any | 1026 | ········//··412····417····763····797····Any |
1241 | ········//··442····448····1007···1041···Any | 1027 | ········//··424····430····763····797····Any |
1242 | ········//··450····456····1007···1041···Any | 1028 | ········//··432····438····763····797····Any |
1243 | ········//··456····461····1007···1041···Any | 1029 | ········//··440····446····763····797····Any |
1244 | ········//··465····471····1007···1041···Any | 1030 | ········//··446····451····763····797····Any |
1245 | ········//··477····484····519····569····Ljava/lang/Exception; | 1031 | ········//··457····463····763····797····Any |
1246 | ········//··477····484····1007···1041···Any | 1032 | ········//··465····469····763····797····Any |
1247 | ········//··488····495····519····569····Ljava/lang/Exception; | 1033 | ········//··478····483····763····797····Any |
1248 | ········//··488····495····1007···1041···Any | 1034 | ········//··501····504····763····797····Any |
1249 | ········//··500····505····519····569····Ljava/lang/Exception; | 1035 | ········//··506····511····763····797····Any |
1250 | ········//··500····505····1007···1041···Any | 1036 | ········//··518····524····763····797····Any |
1251 | ········//··520····523····1007···1041···Any | 1037 | ········//··526····532····763····797····Any |
1252 | ········//··525····530····1007···1041···Any | 1038 | ········//··534····540····763····797····Any |
1253 | ········//··537····543····1007···1041···Any | 1039 | ········//··540····545····763····797····Any |
1254 | ········//··545····551····1007···1041···Any | 1040 | ········//··549····555····763····797····Any |
1255 | ········//··551····556····1007···1041···Any | 1041 | ········//··555····562····763····797····Any |
1256 | ········//··560····566····1007···1041···Any | 1042 | ········//··566····570····763····797····Any |
1257 | ········//··572····577····1007···1041···Any | 1043 | ········//··577····581····763····797····Any |
1258 | ········//··579····583····1007···1041···Any | 1044 | ········//··581····585····763····797····Any |
1259 | ········//··593····596····1007···1041···Any | 1045 | ········//··585····589····763····797····Any |
1260 | ········//··600····605····1007···1041···Any | 1046 | ········//··589····596····763····797····Any |
1261 | ········//··609····613····1007···1041···Any | 1047 | ········//··598····605····763····797····Any |
1262 | ········//··615····619····1007···1041···Any | 1048 | ········//··607····610····763····797····Any |
1263 | ········//··623····628····1007···1041···Any | 1049 | ········//··612····617····763····797····Any |
1264 | ········//··637····642····645····713····Ljava/io/IOException; | 1050 | ········//··624····630····763····797····Any |
1265 | ········//··637····642····1007···1041···Any | 1051 | ········//··632····638····763····797····Any |
1266 | ········//··651····654····1007···1041···Any | 1052 | ········//··645····651····763····797····Any |
1267 | ········//··656····661····1007···1041···Any | 1053 | ········//··653····659····763····797····Any |
1268 | ········//··668····674····1007···1041···Any | 1054 | ········//··666····672····763····797····Any |
1269 | ········//··676····682····1007···1041···Any | 1055 | ········//··672····677····763····797····Any |
1270 | ········//··684····690····1007···1041···Any | 1056 | ········//··681····687····763····797····Any |
1271 | ········//··690····695····1007···1041···Any | 1057 | ········//··687····691····763····797····Any |
1272 | ········//··701····707····1007···1041···Any | 1058 | ········//··693····697····763····797····Any |
1273 | ········//··709····713····1007···1041···Any | 1059 | ········//··725····732····763····797····Any |
1274 | ········//··722····727····1007···1041···Any | 1060 | ········//··742····748····763····797····Any |
1275 | ········//··745····748····1007···1041···Any | 1061 | ········//··753····760····797····812····Ljava/lang/Exception; |
1276 | ········//··750····755····1007···1041···Any | 1062 | ········//··753····760····852····883····Any |
1277 | ········//··762····768····1007···1041···Any | 1063 | ········//··773····780····783····795····Any |
1278 | ········//··770····776····1007···1041···Any | 1064 | ········//··790····795····797····812····Ljava/lang/Exception; |
1279 | ········//··778····784····1007···1041···Any | 1065 | ········//··790····795····852····883····Any |
1280 | ········//··784····789····1007···1041···Any | 1066 | ········//··795····797····797····812····Ljava/lang/Exception; |
1281 | ········//··793····799····1007···1041···Any | 1067 | ········//··795····797····852····883····Any |
1282 | ········//··799····806····1007···1041···Any | 1068 | ········//··806····812····852····883····Any |
1283 | ········//··810····814····1007···1041···Any | 1069 | ········//··812····816····852····883····Any |
1284 | ········//··821····825····1007···1041···Any | 1070 | ········//··816····820····852····883····Any |
1285 | ········//··825····829····1007···1041···Any | 1071 | ········//··820····824····852····883····Any |
1286 | ········//··829····833····1007···1041···Any | 1072 | ········//··826····830····852····883····Any |
1287 | ········//··833····840····1007···1041···Any | 1073 | ········//··835····841····852····883····Any |
1288 | ········//··842····849····1007···1041···Any | 1074 | ········//··862····867····870····881····Any |
1289 | ········//··851····854····1007···1041···Any | |
1290 | ········//··856····861····1007···1041···Any | |
1291 | ········//··868····874····1007···1041···Any | |
1292 | ········//··876····882····1007···1041···Any | |
1293 | ········//··889····895····1007···1041···Any | |
1294 | ········//··897····903····1007···1041···Any | |
1295 | ········//··910····916····1007···1041···Any | |
1296 | ········//··916····921····1007···1041···Any | |
1297 | ········//··925····931····1007···1041···Any | |
1298 | ········//··931····935····1007···1041···Any | |
1299 | ········//··937····941····1007···1041···Any | |
1300 | ········//··969····976····1007···1041···Any | |
1301 | ········//··986····992····1007···1041···Any | |
1302 | ········//··997····1004···1041···1056···Ljava/lang/Exception; | |
1303 | ········//··997····1004···1096···1127···Any | |
1304 | ········//··1017···1024···1027···1039···Any | |
1305 | ········//··1034···1039···1041···1056···Ljava/lang/Exception; | |
1306 | ········//··1034···1039···1096···1127···Any | |
1307 | ········//··1039···1041···1041···1056···Ljava/lang/Exception; | |
1308 | ········//··1039···1041···1096···1127···Any | |
1309 | ········//··1050···1056···1096···1127···Any | |
1310 | ········//··1056···1060···1096···1127···Any | |
1311 | ········//··1060···1064···1096···1127···Any | |
1312 | ········//··1064···1068···1096···1127···Any | |
1313 | ········//··1070···1074···1096···1127···Any | |
1314 | ········//··1079···1085···1096···1127···Any | |
1315 | ········//··1106···1111···1114···1125···Any | |
1316 | ········//· | 1075 | ········//· |
1317 | ········//·The·error·that·occurred·was: | 1076 | ········//·The·error·that·occurred·was: |
1318 | ········//· | 1077 | ········//· |
1319 | ········//·java.lang.IndexOutOfBoundsException:·Index:·506,·Size:·506 | 1078 | ········//·java.lang.IndexOutOfBoundsException:·Index:·399,·Size:·399 |
1320 | ········//·····at·java.util.ArrayList.rangeCheck(ArrayList.java:659) | 1079 | ········//·····at·java.util.ArrayList.rangeCheck(ArrayList.java:659) |
1321 | ········//·····at·java.util.ArrayList.get(ArrayList.java:435) | 1080 | ········//·····at·java.util.ArrayList.get(ArrayList.java:435) |
1322 | ········//·····at·com.strobel.decompiler.ast.AstBuilder.convertToAst(AstBuilder.java:3321) | 1081 | ········//·····at·com.strobel.decompiler.ast.AstBuilder.convertToAst(AstBuilder.java:3321) |
1323 | ········//·····at·com.strobel.decompiler.ast.AstBuilder.convertToAst(AstBuilder.java:3569) | 1082 | ········//·····at·com.strobel.decompiler.ast.AstBuilder.convertToAst(AstBuilder.java:3569) |
1324 | ········//·····at·com.strobel.decompiler.ast.AstBuilder.build(AstBuilder.java:113) | 1083 | ········//·····at·com.strobel.decompiler.ast.AstBuilder.build(AstBuilder.java:113) |
1325 | ········//·····at·com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:211) | 1084 | ········//·····at·com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:211) |
1326 | ········//·····at·com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:99) | 1085 | ········//·····at·com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:99) |
Offset 1335, 100 lines modified | Offset 1094, 18 lines modified |
1335 | ········//·····at·com.strobel.decompiler.languages.java.JavaLanguage.decompileType(JavaLanguage.java:59) | 1094 | ········//·····at·com.strobel.decompiler.languages.java.JavaLanguage.decompileType(JavaLanguage.java:59) |
1336 | ········//·····at·com.strobel.decompiler.DecompilerDriver.decompileType(DecompilerDriver.java:336) | 1095 | ········//·····at·com.strobel.decompiler.DecompilerDriver.decompileType(DecompilerDriver.java:336) |
1337 | ········//·····at·com.strobel.decompiler.DecompilerDriver.main(DecompilerDriver.java:144) | 1096 | ········//·····at·com.strobel.decompiler.DecompilerDriver.main(DecompilerDriver.java:144) |
1338 | ········//· | 1097 | ········//· |
1339 | ········throw·new·IllegalStateException("An·error·occurred·while·decompiling·this·method."); | 1098 | ········throw·new·IllegalStateException("An·error·occurred·while·decompiling·this·method."); |
1340 | ····} | 1099 | ····} |
1341 | ···· | 1100 | ···· |
1342 | ····private·String·migratePlaylistFiles(final·ContentProviderClient·contentProviderClient,·final·long·n)·{ | |
1343 | ········final·StringBuilder·sb·=·new·StringBuilder(); | |
1344 | ········sb.append("media_type=4·AND·_id="); | |
1345 | ········sb.append(n); | |
1346 | ········final·String·string·=·sb.toString(); | |
1347 | ········final·String·s·=·"_id"; | |
1348 | ········final·String·s2·=·"_data"; | |
1349 | ········final·String·s3·=·"mime_type"; | |
1350 | ········final·String·s4·=·"name"; | |
1351 | ········final·String[]·array·=·{·s,·s2,·s3,·s4·}; | |
1352 | ········final·Uri·rewriteToLegacy·=·MediaStore.rewriteToLegacy(MediaStore$Files.getContentUri(this.mVolumeName)); | |
1353 | ········final·String[]·array2·=·array; | |
1354 | ········final·String·s5·=·string; | |
1355 | ········final·String[]·array3·=·null; | |
1356 | ········try·{ | |
1357 | ············final·Cursor·query·=·contentProviderClient.query(rewriteToLegacy,·array2,·s5,·array3,·(String)null); | |
1358 | ············try·{ | |
1359 | ················if·(!query.moveToFirst())·{ | |
1360 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | |
1361 | ····················sb2.append("Couldn't·find·database·row·for·playlist·file"); | |
1362 | ····················sb2.append(n); | |
1363 | ····················throw·new·IllegalStateException(sb2.toString()); | |
1364 | ················} | |
1365 | ················final·String·string2·=·query.getString(query.getColumnIndex(s2)); | |
1366 | ················File·buildUniqueFile·=·new·File(string2); | |
1367 | ················if·(!buildUniqueFile.exists())·{ | |
1368 | ····················String·string3·=·query.getString(query.getColumnIndex(s3)); | |
1369 | ····················if·(!MimeUtils.isPlaylistMimeType(string3))·{ | |
1370 | ························string3·=·"audio/mpegurl"; | |
1371 | ····················} | |
1372 | ····················File·parentFile·=·buildUniqueFile.getParentFile(); | |
1373 | ····················if·(parentFile.getName().equalsIgnoreCase("Playlists"))·{ | |
1374 | ························parentFile·=·new·File(parentFile.getParentFile(),·Environment.DIRECTORY_MUSIC); | |
1375 | ····················} | |
1376 | ····················final·String·string4·=·query.getString(query.getColumnIndex(s4)); | |
1377 | ····················final·File·file·=·parentFile; | |
1378 | ····················final·String·s6·=·string3; | |
1379 | ····················try·{ | |
1380 | ························buildUniqueFile·=·FileUtils.buildUniqueFile(file,·s6,·string4); | |
1381 | ····················} | |
1382 | ····················catch·(FileNotFoundException·ex)·{ | |
1383 | ························final·String·s7·=·"MediaProvider"; | |
1384 | ························final·StringBuilder·sb3·=·new·StringBuilder(); | |
1385 | ························sb3.append("Couldn't·create·unique·file·for·"); | |
1386 | ························sb3.append(buildUniqueFile); | |
1387 | ························sb3.append(",·using·actual·playlist·file·name"); | |
1388 | ························Log.e(s7,·sb3.toString(),·(Throwable)ex); | |
1389 | ····················} | |
1390 | ····················this.createPlaylistFile(contentProviderClient,·MediaStore.rewriteToLegacy(MediaStore$Audio$Playlists$Members.getContentUri(this.mVolumeName,·query.getLong(query.getColumnIndex(s)))),·buildUniqueFile); | |
1391 | ····················final·String·absolutePath·=·buildUniqueFile.getAbsolutePath(); | |
1392 | ····················if·(query·!=·null)·{ | |
1393 | ························query.close(); | |
1394 | ····················} | |
1395 | ····················return·absolutePath; | |
1396 | ················} | |
1397 | ················final·StringBuilder·sb4·=·new·StringBuilder(); | |
1398 | ················sb4.append("Playlist·file·exists·"); | |
1399 | ················sb4.append(string2); | |
1400 | ················throw·new·IllegalStateException(sb4.toString()); | |
1401 | ············} | |
1402 | ············finally·{ | |
1403 | ················if·(query·!=·null)·{ | |
1404 | ····················try·{ | |
1405 | ························query.close(); | |
1406 | ····················} | |
1407 | ····················finally·{ | |
1408 | ························final·Throwable·t; | |
1409 | ························final·Throwable·t2; | |
1410 | ························t.addSuppressed(t2); | |
1411 | ····················} | |
1412 | ················} | |
1413 | ············} | |
1414 | ········} | |
1415 | ········catch·(RemoteException·ex2)·{ | |
1416 | ············throw·new·IllegalStateException((Throwable)ex2); | |
1417 | ········} | |
1418 | ····} | |
1419 | ···· | |
1420 | ····private·void·notifyChangeInternal(final·Collection·collection,·final·int·n)·{ | 1101 | ····private·void·notifyChangeInternal(final·Collection·collection,·final·int·n)·{ |
1421 | ········Trace.beginSection("notifyChange"); | 1102 | ········Trace.beginSection("notifyChange"); |
1422 | ········final·int·n2·=·256; | |
1423 | ········try·{ | 1103 | ········try·{ |
1424 | ············final·Iterator·iterator·=·Iterables.partition((Iterable)collection,·n2).iterator(); | 1104 | ············this.mContext.getContentResolver().notifyChange(collection,·(ContentObserver)null,·n); |
1425 | ············while·(iterator.hasNext())·{ | |
1426 | ················this.mContext.getContentResolver().notifyChange((Collection)(List)iterator.next(),·(ContentObserver)null,·n); | |
1427 | ············} | |
1428 | ········} | 1105 | ········} |
1429 | ········finally·{ | 1106 | ········finally·{ |
1430 | ············Trace.endSection(); | 1107 | ············Trace.endSection(); |
1431 | ········} | 1108 | ········} |
1432 | ····} | 1109 | ····} |
1433 | ···· | 1110 | ···· |
1434 | ····private·void·notifySingleChangeInternal(final·Uri·uri,·final·int·n)·{ | 1111 | ····private·void·notifySingleChangeInternal(final·Uri·uri,·final·int·n)·{ |
Offset 1437, 58 lines modified | Offset 1114, 14 lines modified |
1437 | ············this.mContext.getContentResolver().notifyChange(uri,·(ContentObserver)null,·n); | 1114 | ············this.mContext.getContentResolver().notifyChange(uri,·(ContentObserver)null,·n); |
1438 | ········} | 1115 | ········} |
1439 | ········finally·{ | 1116 | ········finally·{ |
1440 | ············Trace.endSection(); | 1117 | ············Trace.endSection(); |
1441 | ········} | 1118 | ········} |
1442 | ····} | 1119 | ····} |
1443 | ···· | 1120 | ···· |
1444 | ····private·String·queryForData(ContentProviderClient·query,·final·Uri·uri)·{ | |
1445 | ········final·String·s·=·"_data"; | |
1446 | ········try·{ | |
1447 | ············final·String[]·array·=·{·s·}; | |
1448 | ············try·{ | |
1449 | ················query·=·(ContentProviderClient)query.query(uri,·array,·Bundle.EMPTY,·(CancellationSignal)null); | |
1450 | ················try·{ | |
1451 | ····················if·(((Cursor)query).moveToFirst())·{ | |
1452 | ························final·String·string·=·((Cursor)query).getString(0); | |
1453 | ························if·(query·!=·null)·{ | |
1454 | ····························((Cursor)query).close(); | |
1455 | ························} | |
1456 | ························return·string; | |
1457 | ····················} | |
1458 | ····················if·(query·!=·null)·{ | |
1459 | ························((Cursor)query).close(); | |
1460 | ························return·null; | |
1461 | ····················} | |
1462 | ····················return·null; | |
1463 | ················} | |
1464 | ················finally·{ | |
1465 | ····················if·(query·!=·null)·{ | |
1466 | ························try·{ | |
1467 | ····························((Cursor)query).close(); | |
1468 | ························} | |
1469 | ························finally·{ | |
1470 | ····························final·Throwable·t; | |
1471 | ····························final·Throwable·t2; | |
1472 | ····························t.addSuppressed(t2); | |
1473 | ························} | |
1474 | ····················} | |
1475 | ················} | |
1476 | ············} | |
1477 | ············catch·(Exception·ex)·{ | |
1478 | ················final·StringBuilder·sb·=·new·StringBuilder(); | |
1479 | ················sb.append("Exception·occurred·while·querying·for·data·file·for·"); | |
1480 | ················sb.append(uri); | |
1481 | ················Log.wtf("MediaProvider",·sb.toString(),·(Throwable)ex); | |
1482 | ············} | |
1483 | ········} | |
1484 | ········catch·(Exception·ex2)·{} | |
1485 | ········return·null; | |
1486 | ····} | |
1487 | ···· | |
1488 | ····private·static·void·recomputeDataValues(final·SQLiteDatabase·sqLiteDatabase,·final·boolean·b)·{ | 1121 | ····private·static·void·recomputeDataValues(final·SQLiteDatabase·sqLiteDatabase,·final·boolean·b)·{ |
1489 | ········final·String·s·=·"_data"; | 1122 | ········final·String·s·=·"_data"; |
1490 | ········final·Cursor·query·=·sqLiteDatabase.query("files",·new·String[]·{·"_id",·s·},·(String)null,·(String[])null,·(String)null,·(String)null,·(String)null,·(String)null); | 1123 | ········final·Cursor·query·=·sqLiteDatabase.query("files",·new·String[]·{·"_id",·s·},·(String)null,·(String[])null,·(String)null,·(String)null,·(String)null,·(String)null); |
1491 | ········final·String·s2·=·"MediaProvider"; | 1124 | ········final·String·s2·=·"MediaProvider"; |
1492 | ········try·{ | 1125 | ········try·{ |
Max diff block lines reached; 7664/77500 bytes (9.89%) of diff not shown.
|