Bug 646550 - Tell Android to scan media items downloaded by Fennec r=blassey
This commit is contained in:
@@ -59,6 +59,8 @@ import android.widget.*;
|
||||
import android.hardware.*;
|
||||
import android.location.*;
|
||||
import android.webkit.MimeTypeMap;
|
||||
import android.media.MediaScannerConnection;
|
||||
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
|
||||
|
||||
import android.util.*;
|
||||
import android.net.Uri;
|
||||
@@ -119,6 +121,31 @@ public class GeckoAppShell
|
||||
}
|
||||
}
|
||||
|
||||
private static class GeckoMediaScannerClient implements MediaScannerConnectionClient {
|
||||
private String mFile = "";
|
||||
private String mMimeType = "";
|
||||
private MediaScannerConnection mScanner = null;
|
||||
|
||||
public GeckoMediaScannerClient(Context aContext, String aFile, String aMimeType) {
|
||||
mFile = aFile;
|
||||
mMimeType = aMimeType;
|
||||
mScanner = new MediaScannerConnection(aContext, this);
|
||||
if (mScanner != null)
|
||||
mScanner.connect();
|
||||
}
|
||||
|
||||
public void onMediaScannerConnected() {
|
||||
mScanner.scanFile(mFile, mMimeType);
|
||||
}
|
||||
|
||||
public void onScanCompleted(String path, Uri uri) {
|
||||
if(path.equals(mFile)) {
|
||||
mScanner.disconnect();
|
||||
mScanner = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get a Handler for the main java thread
|
||||
public static Handler getMainHandler() {
|
||||
return GeckoApp.mAppContext.mMainHandler;
|
||||
@@ -1065,4 +1092,9 @@ public class GeckoAppShell
|
||||
} catch (InterruptedException ie) {}
|
||||
}
|
||||
}
|
||||
|
||||
public static void scanMedia(String aFile, String aMimeType) {
|
||||
Context context = GeckoApp.surfaceView.getContext();
|
||||
GeckoMediaScannerClient client = new GeckoMediaScannerClient(context, aFile, aMimeType);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user