Skip to content

Commit d432d84

Browse files
authored
Merge pull request #130 from PDesire/master
Add some null safety & Add MediaScan on file deletion
2 parents 5627010 + 809b963 commit d432d84

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

FileManager/src/org/openintents/filemanager/search/SearchResultsProvider.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import android.database.sqlite.SQLiteQueryBuilder;
1212
import android.net.Uri;
1313

14+
import androidx.annotation.NonNull;
15+
1416
/**
1517
* Used by the standard search Service, in order to provide results asynchronously to the SearchableActivity.
1618
*
@@ -43,7 +45,7 @@ public boolean onCreate() {
4345
}
4446

4547
@Override
46-
public Cursor query(Uri uri, String[] projection, String selection,
48+
public Cursor query(@NonNull Uri uri, String[] projection, String selection,
4749
String[] selectionArgs, String sortOrder) {
4850
SQLiteQueryBuilder sqlBuilder = new SQLiteQueryBuilder();
4951
sqlBuilder.setTables(TABLE_NAME);
@@ -58,7 +60,7 @@ public Cursor query(Uri uri, String[] projection, String selection,
5860
}
5961

6062
@Override
61-
public Uri insert(Uri uri, ContentValues values) {
63+
public Uri insert(@NonNull Uri uri, ContentValues values) {
6264
long rowID = db.insert(TABLE_NAME, "", values);
6365
if (rowID > 0) {
6466
Uri _uri = ContentUris.withAppendedId(CONTENT_URI, rowID);
@@ -69,21 +71,21 @@ public Uri insert(Uri uri, ContentValues values) {
6971
}
7072

7173
@Override
72-
public int update(Uri uri, ContentValues values, String selection,
74+
public int update(@NonNull Uri uri, ContentValues values, String selection,
7375
String[] selectionArgs) {
7476
// We only write, read and delete the db. Not implemented for now.
7577
return 0;
7678
}
7779

7880
@Override
79-
public int delete(Uri uri, String selection, String[] selectionArgs) {
81+
public int delete(@NonNull Uri uri, String selection, String[] selectionArgs) {
8082
int count = db.delete(TABLE_NAME, selection, selectionArgs);
8183
getContext().getContentResolver().notifyChange(uri, null);
8284
return count;
8385
}
8486

8587
@Override
86-
public String getType(Uri uri) {
88+
public String getType(@NonNull Uri uri) {
8789
return SEARCH_MIMETYPE;
8890
}
8991

FileManager/src/org/openintents/filemanager/search/SearchSuggestionsProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
import java.util.ArrayList;
1414

15+
import androidx.annotation.NonNull;
16+
1517
/**
1618
* Not that good, but it's a working implementation at least. We REALLY need asynchronous suggestion refreshing.
1719
*
@@ -32,7 +34,7 @@ public class SearchSuggestionsProvider extends ContentProvider {
3234
/**
3335
* Always clears all suggestions. Parameters other than uri are ignored.
3436
*/
35-
public int delete(Uri uri, String selection, String[] selectionArgs) {
37+
public int delete(@NonNull Uri uri, String selection, String[] selectionArgs) {
3638
int count = mSuggestions.size();
3739
mSuggestions.clear();
3840
getContext().getContentResolver().notifyChange(uri, null);
@@ -41,12 +43,13 @@ public int delete(Uri uri, String selection, String[] selectionArgs) {
4143
}
4244

4345
@Override
44-
public String getType(Uri uri) {
46+
public String getType(@NonNull Uri uri) {
4547
return SEARCH_SUGGEST_MIMETYPE;
4648
}
4749

4850
@Override
49-
public Uri insert(Uri uri, ContentValues values) {
51+
@NonNull
52+
public Uri insert(@NonNull Uri uri, ContentValues values) {
5053
long id = mSuggestions.size() + 1;
5154
values.put(BaseColumns._ID, id);
5255
mSuggestions.add(values);
@@ -69,7 +72,7 @@ public boolean onCreate() {
6972
/**
7073
* NOT a cheap call. Actual search happens here.
7174
*/
72-
public Cursor query(Uri uri, String[] projection, String selection,
75+
public Cursor query(@NonNull Uri uri, String[] projection, String selection,
7376
String[] selectionArgs, String sortOrder) {
7477
searcher.setQuery(uri.getLastPathSegment().toLowerCase());
7578

@@ -97,7 +100,7 @@ public Cursor query(Uri uri, String[] projection, String selection,
97100
/**
98101
* We don't care about updating. Unimplemented.
99102
*/
100-
public int update(Uri uri, ContentValues values, String selection,
103+
public int update(@NonNull Uri uri, ContentValues values, String selection,
101104
String[] selectionArgs) {
102105
return 0;
103106
}

FileManager/src/org/openintents/filemanager/util/MediaScannerUtils.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.content.Context;
44
import android.content.Intent;
5+
import android.media.MediaScannerConnection;
56
import android.net.Uri;
67

78
import org.openintents.filemanager.files.FileHolder;
@@ -45,7 +46,9 @@ public static void informFilesAdded(Context c, List<FileHolder> files) {
4546
}
4647

4748
public static void informFileDeleted(Context c, File f) {
48-
// TODO implement
49+
String[] file = new String[]{f.getPath()};
50+
51+
MediaScannerConnection.scanFile(c, file, null, null);
4952
}
5053

5154
public static void informFilesDeleted(Context c, File[] files) {

0 commit comments

Comments
 (0)