Example usage for android.content ContentResolver SCHEME_CONTENT

List of usage examples for android.content ContentResolver SCHEME_CONTENT

Introduction

In this page you can find the example usage for android.content ContentResolver SCHEME_CONTENT.

Prototype

String SCHEME_CONTENT

To view the source code for android.content ContentResolver SCHEME_CONTENT.

Click Source Link

Usage

From source file:prince.app.sphotos.Gallery.UriTexture.java

public static final Bitmap createFromUri(Context context, String uri, int maxResolutionX, int maxResolutionY,
        long cacheId, ClientConnectionManager connectionManager)
        throws IOException, URISyntaxException, OutOfMemoryError {
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inScaled = false;/*  w  ww .java  2s . c  o m*/
    options.inPreferredConfig = Bitmap.Config.RGB_565;
    options.inDither = true;
    long crc64 = 0;
    Bitmap bitmap = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT)) {
        // We need the filepath for the given content uri
        crc64 = cacheId;
    } else {
        crc64 = Utils.Crc64Long(uri);
    }

    bitmap = createFromCache(crc64, maxResolutionX);
    if (bitmap != null) {
        Log.i(TAG, "!!! Bitmap in cache !!!");
        return bitmap;
    }

    final boolean local = uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith("file://");

    // Get the input stream for computing the sample size.
    BufferedInputStream bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Compute the sample size, i.e., not decoding real pixels.
    if (bufferedInput != null) {
        options.inSampleSize = computeSampleSize(bufferedInput, maxResolutionX, maxResolutionY);
    } else {
        return null;
    }

    // Get the input stream again for decoding it to a bitmap.
    bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Decode bufferedInput to a bitmap.
    if (bufferedInput != null) {
        options.inDither = false;
        options.inJustDecodeBounds = false;
        Thread timeoutThread = new Thread("BitmapTimeoutThread") {
            public void run() {
                try {
                    Thread.sleep(6000);
                    options.requestCancelDecode();
                } catch (InterruptedException e) {
                }
            }
        };
        timeoutThread.start();

        bitmap = BitmapFactory.decodeStream(bufferedInput, null, options);
    }

    if ((options.inSampleSize > 1 || !local) && bitmap != null) {
        //   writeToCache(crc64, bitmap, maxResolutionX / options.inSampleSize);
        writeToCache(crc64, bitmap, maxResolutionX);
    }
    return bitmap;
}

From source file:com.cooliris.mediayemaha.UriTexture.java

public static final Bitmap createFromUri(Context context, String uri, int maxResolutionX, int maxResolutionY,
        long cacheId, ClientConnectionManager connectionManager)
        throws IOException, URISyntaxException, OutOfMemoryError {
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inScaled = false;//from w  w w  .  j  a  v  a2 s .com
    options.inPreferredConfig = Bitmap.Config.RGB_565;
    options.inDither = true;
    long crc64 = 0;
    Bitmap bitmap = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT)) {
        // We need the filepath for the given content uri
        crc64 = cacheId;
    } else {
        crc64 = Utils.Crc64Long(uri);
    }
    bitmap = createFromCache(crc64, maxResolutionX);
    if (bitmap != null) {
        return bitmap;
    }
    final boolean local = uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith("file://");

    // Get the input stream for computing the sample size.
    BufferedInputStream bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Compute the sample size, i.e., not decoding real pixels.
    if (bufferedInput != null) {
        options.inSampleSize = computeSampleSize(bufferedInput, maxResolutionX, maxResolutionY);
    } else {
        return null;
    }

    // Get the input stream again for decoding it to a bitmap.
    bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Decode bufferedInput to a bitmap.
    if (bufferedInput != null) {
        options.inDither = false;
        options.inJustDecodeBounds = false;
        Thread timeoutThread = new Thread("BitmapTimeoutThread") {
            public void run() {
                try {
                    Thread.sleep(6000);
                    options.requestCancelDecode();
                } catch (InterruptedException e) {
                }
            }
        };
        timeoutThread.start();

        bitmap = BitmapFactory.decodeStream(bufferedInput, null, options);
    }

    if ((options.inSampleSize > 1 || !local) && bitmap != null) {
        writeToCache(crc64, bitmap, maxResolutionX / options.inSampleSize);
    }
    return bitmap;
}

From source file:com.ocp.media.UriTexture.java

public static final Bitmap createFromUri(Context context, String uri, int maxResolutionX, int maxResolutionY,
        long cacheId, ClientConnectionManager connectionManager)
        throws IOException, URISyntaxException, OutOfMemoryError {
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inScaled = false;/*from   w w  w  .j  a v  a  2s .  c o  m*/
    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    options.inDither = true;
    long crc64 = 0;
    Bitmap bitmap = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT)) {
        // We need the filepath for the given content uri
        crc64 = cacheId;
    } else {
        crc64 = Utils.Crc64Long(uri);
    }
    bitmap = createFromCache(crc64, maxResolutionX);
    if (bitmap != null) {
        return bitmap;
    }
    final boolean local = uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith("file://");

    // Get the input stream for computing the sample size.
    BufferedInputStream bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Compute the sample size, i.e., not decoding real pixels.
    if (bufferedInput != null) {
        options.inSampleSize = computeSampleSize(bufferedInput, maxResolutionX, maxResolutionY);
    } else {
        return null;
    }

    // Get the input stream again for decoding it to a bitmap.
    bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Decode bufferedInput to a bitmap.
    if (bufferedInput != null) {
        options.inDither = false;
        options.inJustDecodeBounds = false;
        Thread timeoutThread = new Thread("BitmapTimeoutThread") {
            public void run() {
                try {
                    Thread.sleep(6000);
                    options.requestCancelDecode();
                } catch (InterruptedException e) {
                }
            }
        };
        timeoutThread.start();

        bitmap = BitmapFactory.decodeStream(bufferedInput, null, options);
    }

    if ((options.inSampleSize > 1 || !local) && bitmap != null) {
        writeToCache(crc64, bitmap, maxResolutionX / options.inSampleSize);
    }
    return bitmap;
}

From source file:com.owncloud.android.ui.helpers.UriUploader.java

public UriUploaderResultCode uploadUris() {

    try {//from  w  ww  . ja v  a  2 s. c  o m

        List<Uri> contentUris = new ArrayList<>();
        List<String> contentRemotePaths = new ArrayList<>();

        int schemeFileCounter = 0;

        for (Parcelable sourceStream : mUrisToUpload) {
            Uri sourceUri = (Uri) sourceStream;
            if (sourceUri != null) {
                String displayName = UriUtils.getDisplayNameForUri(sourceUri, mActivity);
                if (displayName == null) {
                    displayName = generateDiplayName();
                }
                String remotePath = mUploadPath + displayName;

                if (ContentResolver.SCHEME_CONTENT.equals(sourceUri.getScheme())) {
                    contentUris.add(sourceUri);
                    contentRemotePaths.add(remotePath);

                } else if (ContentResolver.SCHEME_FILE.equals(sourceUri.getScheme())) {
                    /// file: uris should point to a local file, should be safe let FileUploader handle them
                    requestUpload(sourceUri.getPath(), remotePath);
                    schemeFileCounter++;
                }
            }
        }

        if (!contentUris.isEmpty()) {
            /// content: uris will be copied to temporary files before calling {@link FileUploader}
            copyThenUpload(contentUris.toArray(new Uri[contentUris.size()]),
                    contentRemotePaths.toArray(new String[contentRemotePaths.size()]));

        } else if (schemeFileCounter == 0) {
            mCode = UriUploaderResultCode.ERROR_NO_FILE_TO_UPLOAD;

        }

    } catch (SecurityException e) {
        mCode = UriUploaderResultCode.ERROR_READ_PERMISSION_NOT_GRANTED;
        Log_OC.e(TAG, "Permissions fail", e);

    } catch (Exception e) {
        mCode = UriUploaderResultCode.ERROR_UNKNOWN;
        Log_OC.e(TAG, "Unexpected error", e);

    }
    return mCode;
}

From source file:vn.mbm.phimp.me.gallery3d.media.UriTexture.java

public static final Bitmap createFromUri(Context context, String uri, int maxResolutionX, int maxResolutionY,
        long cacheId, ClientConnectionManager connectionManager)
        throws IOException, URISyntaxException, OutOfMemoryError {
    Log.i(TAG, "creatFromUri()");
    Log.i(TAG, "URI: " + uri);
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inScaled = false;/*w w w  .  j a  v a2  s.c  o  m*/
    options.inPreferredConfig = Bitmap.Config.RGB_565;
    options.inDither = true;
    long crc64 = 0;
    Bitmap bitmap = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT)) {
        // We need the filepath for the given content uri
        crc64 = cacheId;
    } else {
        crc64 = Utils.Crc64Long(uri);
    }
    bitmap = createFromCache(crc64, maxResolutionX);
    if (bitmap != null) {
        return bitmap;
    }
    final boolean local = uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith("file://");

    // Get the input stream for computing the sample size.
    BufferedInputStream bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Compute the sample size, i.e., not decoding real pixels.
    if (bufferedInput != null) {
        options.inSampleSize = computeSampleSize(bufferedInput, maxResolutionX, maxResolutionY);
    } else {
        return null;
    }

    // Get the input stream again for decoding it to a bitmap.
    bufferedInput = null;
    if (uri.startsWith(ContentResolver.SCHEME_CONTENT) || uri.startsWith(ContentResolver.SCHEME_FILE)) {
        // Get the stream from a local file.
        bufferedInput = new BufferedInputStream(context.getContentResolver().openInputStream(Uri.parse(uri)),
                16384);
    } else {
        // Get the stream from a remote URL.
        bufferedInput = createInputStreamFromRemoteUrl(uri, connectionManager);
    }

    // Decode bufferedInput to a bitmap.
    if (bufferedInput != null) {
        options.inDither = false;
        options.inJustDecodeBounds = false;
        Thread timeoutThread = new Thread("BitmapTimeoutThread") {
            public void run() {
                try {
                    Thread.sleep(6000);
                    options.requestCancelDecode();
                } catch (InterruptedException e) {
                }
            }
        };
        timeoutThread.start();

        bitmap = BitmapFactory.decodeStream(bufferedInput, null, options);
    }

    if ((options.inSampleSize > 1 || !local) && bitmap != null) {
        writeToCache(crc64, bitmap, maxResolutionX / options.inSampleSize);
    }
    return bitmap;
}

From source file:cn.jarlen.media.sample.VideoActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_player);

    mSettings = new Settings(this);

    // handle arguments
    mVideoPath = getIntent().getStringExtra("videoPath");

    Intent intent = getIntent();/*from  w  w  w .j a va2s .  c  o  m*/
    String intentAction = intent.getAction();
    if (!TextUtils.isEmpty(intentAction)) {
        if (intentAction.equals(Intent.ACTION_VIEW)) {
            mVideoPath = intent.getDataString();
        } else if (intentAction.equals(Intent.ACTION_SEND)) {
            mVideoUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                String scheme = mVideoUri.getScheme();
                if (TextUtils.isEmpty(scheme)) {
                    Log.e(TAG, "Null unknown scheme\n");
                    finish();
                    return;
                }
                if (scheme.equals(ContentResolver.SCHEME_ANDROID_RESOURCE)) {
                    mVideoPath = mVideoUri.getPath();
                } else if (scheme.equals(ContentResolver.SCHEME_CONTENT)) {
                    Log.e(TAG, "Can not resolve content below Android-ICS\n");
                    finish();
                    return;
                } else {
                    Log.e(TAG, "Unknown scheme " + scheme + "\n");
                    finish();
                    return;
                }
            }
        }
    }

    if (!TextUtils.isEmpty(mVideoPath)) {
        new RecentMediaStorage(this).saveUrlAsync(mVideoPath);
    }

    // init UI
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    mMediaController = new AndroidMediaController(this, false);
    mMediaController.setSupportActionBar(actionBar);

    mToastTextView = (TextView) findViewById(R.id.toast_text_view);
    mHudView = (TableLayout) findViewById(R.id.hud_view);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mRightDrawer = (ViewGroup) findViewById(R.id.right_drawer);

    mDrawerLayout.setScrimColor(Color.TRANSPARENT);

    // init player
    IjkMediaPlayer.loadLibrariesOnce(null);
    IjkMediaPlayer.native_profileBegin("libijkplayer.so");

    mVideoView = (IjkVideoView) findViewById(R.id.video_view);
    mVideoView.setMediaController(mMediaController);
    mVideoView.setHudView(mHudView);
    // prefer mVideoPath
    if (mVideoPath != null)
        mVideoView.setVideoPath(mVideoPath);
    else if (mVideoUri != null)
        mVideoView.setVideoURI(mVideoUri);
    else {
        Log.e(TAG, "Null Data Source\n");
        finish();
        return;
    }
    mVideoView.start();
}

From source file:com.danjarvis.documentcontract.DocumentContract.java

/**
 * Gets the contract details for the provided content URI.
 *
 * @return Contract serialized to a JSONObject
 *///  w w  w . j a v  a 2s .co m
private void getContract(JSONObject args, CallbackContext callback) {
    try {
        Uri uri;
        Cursor cursor;
        JSONObject response = new JSONObject();

        uri = getUri(args);
        if (null == uri || !(uri.getScheme().equals(ContentResolver.SCHEME_CONTENT))) {
            callback.error(INVALID_URI_ERROR);
            return;
        }

        cursor = cordova.getActivity().getContentResolver().query(uri, getColumns(args), null, null, null);
        if (null != cursor && cursor.moveToFirst()) {
            for (String col : cursor.getColumnNames())
                response.put(col, cursor.getString(cursor.getColumnIndex(col)));
        }
        cursor.close();
        callback.success(response);
    } catch (JSONException je) {
        callback.error(je.getMessage());
    }
}

From source file:com.android.settings.SettingsLicenseActivity.java

private void showHtmlFromUri(Uri uri) {
    // Kick off external viewer due to WebView security restrictions; we
    // carefully point it at HTMLViewer, since it offers to decompress
    // before viewing.
    final Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(uri, "text/html");
    intent.putExtra(Intent.EXTRA_TITLE, getString(R.string.settings_license_activity_title));
    if (ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    }/*  ww w.jav  a  2s. c  om*/
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.setPackage("com.android.htmlviewer");

    try {
        startActivity(intent);
        finish();
    } catch (ActivityNotFoundException e) {
        Log.e(TAG, "Failed to find viewer", e);
        showErrorAndFinish();
    }
}

From source file:me.zuichu.ijkplayer.ui.VideoActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_player);
    mSettings = new Settings(this);
    // handle arguments
    mVideoPath = getIntent().getStringExtra("videoPath");
    Intent intent = getIntent();/*from w ww  .  j ava  2  s.  c  o  m*/
    String intentAction = intent.getAction();
    if (!TextUtils.isEmpty(intentAction)) {
        if (intentAction.equals(Intent.ACTION_VIEW)) {
            mVideoPath = intent.getDataString();
        } else if (intentAction.equals(Intent.ACTION_SEND)) {
            mVideoUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                String scheme = mVideoUri.getScheme();
                if (TextUtils.isEmpty(scheme)) {
                    Log.e(TAG, "Null unknown scheme\n");
                    finish();
                    return;
                }
                if (scheme.equals(ContentResolver.SCHEME_ANDROID_RESOURCE)) {
                    mVideoPath = mVideoUri.getPath();
                } else if (scheme.equals(ContentResolver.SCHEME_CONTENT)) {
                    Log.e(TAG, "Can not resolve content below Android-ICS\n");
                    finish();
                    return;
                } else {
                    Log.e(TAG, "Unknown scheme " + scheme + "\n");
                    finish();
                    return;
                }
            }
        }
    }

    if (!TextUtils.isEmpty(mVideoPath)) {
        new RecentMediaStorage(this).saveUrlAsync(mVideoPath);
    }

    // init UI
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    mMediaController = new AndroidMediaController(this, false);
    mMediaController.setSupportActionBar(actionBar);

    mToastTextView = (TextView) findViewById(R.id.toast_text_view);
    mHudView = (TableLayout) findViewById(R.id.hud_view);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mRightDrawer = (ViewGroup) findViewById(R.id.right_drawer);

    mDrawerLayout.setScrimColor(Color.TRANSPARENT);

    // init player
    IjkMediaPlayer.loadLibrariesOnce(null);
    IjkMediaPlayer.native_profileBegin("libijkplayer.so");

    mVideoView = (IjkVideoView) findViewById(R.id.video_view);
    mVideoView.setMediaController(mMediaController);
    mVideoView.setHudView(mHudView);
    // prefer mVideoPath
    if (mVideoPath != null)
        mVideoView.setVideoPath(mVideoPath);
    else if (mVideoUri != null)
        mVideoView.setVideoURI(mVideoUri);
    else {
        Log.e(TAG, "Null Data Source\n");
        finish();
        return;
    }
    mVideoView.start();
}

From source file:com.danxx.brisktvlauncher.ui.FullScreenVideoActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_player);

    mSettings = new Settings(this);

    // handle arguments
    mVideoPath = getIntent().getStringExtra("videoPath");

    Intent intent = getIntent();/*w  w w .  j a v a  2s  .co m*/
    String intentAction = intent.getAction();
    if (!TextUtils.isEmpty(intentAction)) {
        if (intentAction.equals(Intent.ACTION_VIEW)) {
            mVideoPath = intent.getDataString();
        } else if (intentAction.equals(Intent.ACTION_SEND)) {
            mVideoUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                String scheme = mVideoUri.getScheme();
                if (TextUtils.isEmpty(scheme)) {
                    Log.e(TAG, "Null unknown ccheme\n");
                    finish();
                    return;
                }
                if (scheme.equals(ContentResolver.SCHEME_ANDROID_RESOURCE)) {
                    mVideoPath = mVideoUri.getPath();
                } else if (scheme.equals(ContentResolver.SCHEME_CONTENT)) {
                    Log.e(TAG, "Can not resolve content below Android-ICS\n");
                    finish();
                    return;
                } else {
                    Log.e(TAG, "Unknown scheme " + scheme + "\n");
                    finish();
                    return;
                }
            }
        }
    }

    if (!TextUtils.isEmpty(mVideoPath)) {
        new RecentMediaStorage(this).saveUrlAsync(mVideoPath);
    }

    // init UI
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    //        mMediaController = new AndroidMediaController(this, false);
    //        mMediaController.setSupportActionBar(actionBar);
    customMediaController = new CustomMediaController(this, false);
    customMediaController.setSupportActionBar(actionBar);
    actionBar.setDisplayHomeAsUpEnabled(true);

    mToastTextView = (TextView) findViewById(R.id.toast_text_view);
    mHudView = (TableLayout) findViewById(R.id.hud_view);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mRightDrawer = (ViewGroup) findViewById(R.id.right_drawer);

    mDrawerLayout.setScrimColor(Color.TRANSPARENT);

    // init player
    IjkMediaPlayer.loadLibrariesOnce(null);
    IjkMediaPlayer.native_profileBegin("libijkplayer.so");

    mVideoView = (IjkVideoView) findViewById(R.id.video_view);
    mVideoView.setMediaController(customMediaController);
    mVideoView.setHudView(mHudView);
    // prefer mVideoPath
    if (mVideoPath != null)
        mVideoView.setVideoPath(mVideoPath);
    else if (mVideoUri != null)
        mVideoView.setVideoURI(mVideoUri);
    else {
        Log.e(TAG, "Null Data Source\n");
        finish();
        return;
    }
    mVideoView.start();
}