GravityBoxSettings.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:GravityBox 作者:
private void setCustomLockscreenImage() {
    Intent intent = new Intent(getActivity(), PickImageActivity.class);
    intent.putExtra(PickImageActivity.EXTRA_CROP, true);
    intent.putExtra(PickImageActivity.EXTRA_SCALE, true);
    Display display = getActivity().getWindowManager().getDefaultDisplay();
    Point displaySize = new Point();
    display.getRealSize(displaySize);
    // Lock screen for tablets visible section are different in landscape/portrait,
    // image need to be cropped correctly, like wallpaper setup for scrolling in background in home screen
    // other wise it does not scale correctly
    if (Utils.isTabletUI(getActivity())) {
        WallpaperManager wpManager = WallpaperManager.getInstance(getActivity());
        int wpWidth = wpManager.getDesiredMinimumWidth();
        int wpHeight = wpManager.getDesiredMinimumHeight();
        float spotlightX = (float) displaySize.x / wpWidth;
        float spotlightY = (float) displaySize.y / wpHeight;
        intent.putExtra(PickImageActivity.EXTRA_ASPECT_X, wpWidth);
        intent.putExtra(PickImageActivity.EXTRA_ASPECT_Y, wpHeight);
        intent.putExtra(PickImageActivity.EXTRA_OUTPUT_X, wpWidth);
        intent.putExtra(PickImageActivity.EXTRA_OUTPUT_Y, wpHeight);
        intent.putExtra(PickImageActivity.EXTRA_SPOTLIGHT_X, spotlightX);
        intent.putExtra(PickImageActivity.EXTRA_SPOTLIGHT_Y, spotlightY);
    } else {
        boolean isPortrait = getResources().getConfiguration().orientation ==
                Configuration.ORIENTATION_PORTRAIT;
        intent.putExtra(PickImageActivity.EXTRA_ASPECT_X, isPortrait ? displaySize.x : displaySize.y);
        intent.putExtra(PickImageActivity.EXTRA_ASPECT_Y, isPortrait ? displaySize.y : displaySize.x);
    }
    getActivity().startActivityFromFragment(this, intent, REQ_LOCKSCREEN_BACKGROUND);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号