Sha256: 180d76fc8367b3cd0ff61549dade78b264aa3193b9fddf0a904918e854b98a9b

Contents?: true

Size: 1.17 KB

Versions: 23

Compression:

Stored size: 1.17 KB

Contents

package com.rhomobile.rhodes.uri;

import java.io.File;
import java.net.URISyntaxException;

import com.rhomobile.rhodes.LocalFileProvider;
import com.rhomobile.rhodes.Logger;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.webkit.URLUtil;

public class LocalFileHandler implements UriHandler
{
    private static final String TAG = "LocalFileHandler";
    private Context ctx;
    
    public LocalFileHandler(Context c) {
        ctx = c;
    }

    public boolean handle(String url) throws URISyntaxException {

        if(!URLUtil.isFileUrl(url))
            return false;

        Logger.D(TAG, "This is 'file' URI, handle it: " + url);

        int intentFlags = 0;
        String path = Uri.parse(url).getPath();
        File file = new File(path);

        if(path.startsWith(LocalFileProvider.PATH_PREFIX))
        {
            url = LocalFileProvider.uriFromLocalFile(file).toString();
            intentFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION;
        }

        Intent intent = Intent.parseUri(url, intentFlags);
        ctx.startActivity(Intent.createChooser(intent, "Open in..."));

        return true;
    }
    
}

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
rhodes-3.0.2 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.2.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.8 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.7 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.6 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.5 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.4 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.3 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.1.beta.2 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.7 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.6 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.5 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.4 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.3 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.2 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-3.0.0.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-2.4.1 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java
rhodes-2.4.1.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java