Example usage for android.graphics Bitmap createScaledBitmap

List of usage examples for android.graphics Bitmap createScaledBitmap

Introduction

In this page you can find the example usage for android.graphics Bitmap createScaledBitmap.

Prototype

public static Bitmap createScaledBitmap(@NonNull Bitmap src, int dstWidth, int dstHeight, boolean filter) 

Source Link

Document

Creates a new bitmap, scaled from an existing bitmap, when possible.

Usage

From source file:cs.man.ac.uk.tavernamobile.WorkflowDetail.java

public Object onTaskComplete(Object... result) {
    if (result[0] instanceof String) {
        String exception = (String) result[0];
        if (exception != null) {
            MessageHelper.showMessageDialog(currentActivity, null, exception, null);
        }//from   w  ww . j av a2 s.  c om
    } else {
        // Scale it to 125 x 125
        Drawable avatarDrawable = new BitmapDrawable(getResources(),
                Bitmap.createScaledBitmap(avatarBitmap, 125, 125, true));
        Rect outRect = new Rect();
        userName.getDrawingRect(outRect);
        // resize the Rect
        outRect.inset(-10, 10);
        avatarDrawable.setBounds(outRect);
        userName.setCompoundDrawables(null, avatarDrawable, null, null);
        userName.setText(uploader.getName());
    }
    return null;
}

From source file:de.wikilab.android.friendica01.Max.java

public static void resizeImage(String pathOfInputImage, String pathOfOutputImage, int dstWidth, int dstHeight) {
    try {//  w  w  w .j a  v  a2s . c o  m
        int inWidth = 0;
        int inHeight = 0;

        InputStream in = new FileInputStream(pathOfInputImage);

        // decode image size (decode metadata only, not the whole image)
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeStream(in, null, options);
        in.close();
        in = null;

        // save width and height
        inWidth = options.outWidth;
        inHeight = options.outHeight;

        // decode full image pre-resized
        in = new FileInputStream(pathOfInputImage);
        options = new BitmapFactory.Options();
        // calc rought re-size (this is no exact resize)
        options.inSampleSize = Math.max(inWidth / dstWidth, inHeight / dstHeight);
        // decode full image
        Bitmap roughBitmap = BitmapFactory.decodeStream(in, null, options);

        // calc exact destination size
        Matrix m = new Matrix();
        RectF inRect = new RectF(0, 0, roughBitmap.getWidth(), roughBitmap.getHeight());
        RectF outRect = new RectF(0, 0, dstWidth, dstHeight);
        m.setRectToRect(inRect, outRect, Matrix.ScaleToFit.CENTER);
        float[] values = new float[9];
        m.getValues(values);

        // resize bitmap
        Bitmap resizedBitmap = Bitmap.createScaledBitmap(roughBitmap,
                (int) (roughBitmap.getWidth() * values[0]), (int) (roughBitmap.getHeight() * values[4]), true);

        // save image
        try {
            FileOutputStream out = new FileOutputStream(pathOfOutputImage);
            resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
        } catch (Exception e) {
            Log.e("Image", e.getMessage(), e);
        }
    } catch (IOException e) {
        Log.e("Image", e.getMessage(), e);
    }
}

From source file:de.bahnhoefe.deutschlands.bahnhofsfotos.DetailsActivity.java

public void reportGhostStation() {
    File file = getStoredMediaFile();
    if (file != null) {
        try {/*from   w w  w  .  ja  va2  s.  co m*/
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ghost_station);
            int sampling = bitmap.getWidth() / STORED_FOTO_WIDTH;
            Bitmap scaledScreen = bitmap;
            if (sampling > 1) {
                scaledScreen = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth() / sampling,
                        bitmap.getHeight() / sampling, false);
            }

            saveScaledBitmap(file, scaledScreen);
            Toast.makeText(getApplicationContext(), getString(R.string.report_ghost_station), Toast.LENGTH_LONG)
                    .show();
        } catch (Exception e) {
            Log.e(TAG, "Error processing photo", e);
            Toast.makeText(getApplicationContext(), getString(R.string.error_processing_photo) + e.getMessage(),
                    Toast.LENGTH_LONG).show();
        }
    } else {
        Toast.makeText(this, R.string.unable_to_create_folder_structure, Toast.LENGTH_LONG).show();
    }
}

From source file:mobisocial.noteshere.util.UriImage.java

/**
 * Returns the bytes for this UriImage. If the uri for the image is remote,
 * then this code must not be run on the main thread.
 *///  ww w  . j ava2s.c  o m
public byte[] getResizedImageData(int widthLimit, int heightLimit, int byteLimit, boolean square)
        throws IOException {
    if (!mDecodedBounds) {
        decodeBoundsInfo();
        mDecodedBounds = true;
    }
    InputStream input = null;
    try {
        int inDensity = 0;
        int targetDensity = 0;
        BitmapFactory.Options read_options = new BitmapFactory.Options();
        read_options.inJustDecodeBounds = true;
        input = openInputStream(mUri);
        BitmapFactory.decodeStream(input, null, read_options);
        if (read_options.outWidth > widthLimit || read_options.outHeight > heightLimit) {
            //we need to scale
            if (read_options.outWidth / widthLimit > read_options.outHeight / heightLimit) {
                //width is the large edge
                if (read_options.outWidth * heightLimit > widthLimit * read_options.outHeight) {
                    //incoming image is wider than target
                    inDensity = read_options.outWidth;
                    targetDensity = widthLimit;
                } else {
                    //incoming image is taller than target
                    inDensity = read_options.outHeight;
                    targetDensity = heightLimit;

                }
            } else {
                //height is the long edge, swap the limits
                if (read_options.outWidth * widthLimit > heightLimit * read_options.outHeight) {
                    //incoming image is wider than target
                    inDensity = read_options.outWidth;
                    targetDensity = heightLimit;
                } else {
                    //incoming image is taller than target
                    inDensity = read_options.outHeight;
                    targetDensity = widthLimit;

                }
            }
        } else {
            //no scale
            if (read_options.outWidth > read_options.outHeight) {
                inDensity = targetDensity = read_options.outWidth;
            } else {
                inDensity = targetDensity = read_options.outHeight;
            }
        }

        if (Log.isLoggable(TAG, Log.VERBOSE)) {
            Log.v(TAG,
                    "getResizedImageData: wlimit=" + widthLimit + ", hlimit=" + heightLimit + ", sizeLimit="
                            + byteLimit + ", mWidth=" + mWidth + ", mHeight=" + mHeight + ", initialRatio="
                            + targetDensity + "/" + inDensity);
        }

        ByteArrayOutputStream os = null;
        int attempts = 1;

        int lowMemoryReduce = 1;
        do {
            BitmapFactory.Options options = new BitmapFactory.Options();
            options.inDensity = inDensity;
            options.inSampleSize = lowMemoryReduce;
            options.inScaled = lowMemoryReduce == 1;
            options.inTargetDensity = targetDensity;
            //no purgeable because we are only trying to resave this
            if (input != null)
                input.close();
            input = openInputStream(mUri);
            int quality = IMAGE_COMPRESSION_QUALITY;
            try {
                Bitmap b = BitmapFactory.decodeStream(input, null, options);
                if (b == null) {
                    return null;
                }
                if (options.outWidth > widthLimit + 1 || options.outHeight > heightLimit + 1) {
                    // The decoder does not support the inSampleSize option.
                    // Scale the bitmap using Bitmap library.
                    int scaledWidth;
                    int scaledHeight;
                    scaledWidth = options.outWidth * targetDensity / inDensity;
                    scaledHeight = options.outHeight * targetDensity / inDensity;

                    if (Log.isLoggable(TAG, Log.VERBOSE)) {
                        Log.v(TAG, "getResizedImageData: retry scaling using " + "Bitmap.createScaledBitmap: w="
                                + scaledWidth + ", h=" + scaledHeight);
                    }

                    if (square) {
                        int w = b.getWidth();
                        int h = b.getHeight();
                        int dim = Math.min(w, h);
                        b = Bitmap.createBitmap(b, (w - dim) / 2, (h - dim) / 2, dim, dim);
                        scaledWidth = dim;
                        scaledHeight = dim;
                    }
                    Bitmap b2 = Bitmap.createScaledBitmap(b, scaledWidth, scaledHeight, false);
                    b.recycle();
                    b = b2;
                    if (b == null) {
                        return null;
                    }
                }

                Matrix matrix = new Matrix();
                if (mRotation != 0f) {
                    matrix.preRotate(mRotation);
                }

                Bitmap old = b;
                b = Bitmap.createBitmap(old, 0, 0, old.getWidth(), old.getHeight(), matrix, true);

                // Compress the image into a JPG. Start with MessageUtils.IMAGE_COMPRESSION_QUALITY.
                // In case that the image byte size is still too large reduce the quality in
                // proportion to the desired byte size. Should the quality fall below
                // MINIMUM_IMAGE_COMPRESSION_QUALITY skip a compression attempt and we will enter
                // the next round with a smaller image to start with.
                os = new ByteArrayOutputStream();
                b.compress(CompressFormat.JPEG, quality, os);
                int jpgFileSize = os.size();
                if (jpgFileSize > byteLimit) {
                    int reducedQuality = quality * byteLimit / jpgFileSize;
                    //always try to squish it before computing the new size
                    if (reducedQuality < MINIMUM_IMAGE_COMPRESSION_QUALITY) {
                        reducedQuality = MINIMUM_IMAGE_COMPRESSION_QUALITY;
                    }
                    quality = reducedQuality;

                    if (Log.isLoggable(TAG, Log.VERBOSE)) {
                        Log.v(TAG, "getResizedImageData: compress(2) w/ quality=" + quality);
                    }

                    os = new ByteArrayOutputStream();
                    b.compress(CompressFormat.JPEG, quality, os);
                }
                b.recycle(); // done with the bitmap, release the memory
            } catch (java.lang.OutOfMemoryError e) {
                Log.w(TAG, "getResizedImageData - image too big (OutOfMemoryError), will try "
                        + " with smaller scale factor, cur scale factor", e);
                lowMemoryReduce *= 2;
                // fall through and keep trying with a smaller scale factor.
            }
            Log.v(TAG,
                    "attempt=" + attempts + " size=" + (os == null ? 0 : os.size()) + " width="
                            + options.outWidth + " height=" + options.outHeight + " Ratio=" + targetDensity
                            + "/" + inDensity + " quality=" + quality);
            //move halfway to the target
            targetDensity = (os == null) ? (int) (targetDensity * .8)
                    : (targetDensity * byteLimit / os.size() + targetDensity) / 2;
            attempts++;
        } while ((os == null || os.size() > byteLimit) && attempts < NUMBER_OF_RESIZE_ATTEMPTS);

        return os == null ? null : os.toByteArray();
    } catch (Throwable t) {
        Log.e(TAG, t.getMessage(), t);
        return null;
    } finally {
        if (input != null) {
            try {
                input.close();
            } catch (IOException e) {
                Log.e(TAG, e.getMessage(), e);
            }
        }
    }
}

From source file:com.grupohqh.carservices.operator.ShowCarActivity.java

public static Bitmap blur(Context context, Bitmap image) {
    int width = Math.round(image.getWidth() * BITMAP_SCALE);
    int height = Math.round(image.getHeight() * BITMAP_SCALE);

    Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);
    Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);

    RenderScript rs = RenderScript.create(context);
    ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
    Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
    theIntrinsic.setRadius(BLUR_RADIUS);
    theIntrinsic.setInput(tmpIn);// ww  w  .  j  a  va 2  s .  c  om
    theIntrinsic.forEach(tmpOut);
    tmpOut.copyTo(outputBitmap);

    return outputBitmap;
}

From source file:com.bamobile.fdtks.util.Tools.java

/**
 * Create a new bitmap based on a dummy empty image.
 * This method avoid the expensive Bitmap method Bitmap.createBitmap
 *
 * @param width/*w  w w.j av a  2s . c om*/
 * @param height
 * @return
 */
public static Bitmap createBitmap(int width, int height) {
    Bitmap bmp = BitmapFactory.decodeResource(MainActivity.getInstance().getResources(), R.drawable.empty_image,
            null);
    Bitmap resultBitmap = Bitmap.createScaledBitmap(bmp, width, height, false);
    bmp.recycle();
    bmp = null;
    return resultBitmap;
}

From source file:com.stoutner.privacybrowser.MainWebViewActivity.java

@Override
// Remove Android Studio's warning about the dangers of using SetJavaScriptEnabled.  The whole premise of Privacy Browser is built around an understanding of these dangers.
@SuppressLint("SetJavaScriptEnabled")
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_coordinatorlayout);

    // We need to use the SupportActionBar from android.support.v7.app.ActionBar until the minimum API is >= 21.
    Toolbar supportAppBar = (Toolbar) findViewById(R.id.appBar);
    setSupportActionBar(supportAppBar);//from   w  ww .  ja  va2 s  . co  m
    final ActionBar appBar = getSupportActionBar();

    // This is needed to get rid of the Android Studio warning that appBar might be null.
    assert appBar != null;

    // Add the custom url_bar layout, which shows the favoriteIcon, urlTextBar, and progressBar.
    appBar.setCustomView(R.layout.url_bar);
    appBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

    // Set the "go" button on the keyboard to load the URL in urlTextBox.
    urlTextBox = (EditText) appBar.getCustomView().findViewById(R.id.urlTextBox);
    urlTextBox.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // If the event is a key-down event on the "enter" button, load the URL.
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                // Load the URL into the mainWebView and consume the event.
                try {
                    loadUrlFromTextBox();
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
                // If the enter key was pressed, consume the event.
                return true;
            } else {
                // If any other key was pressed, do not consume the event.
                return false;
            }
        }
    });

    final FrameLayout fullScreenVideoFrameLayout = (FrameLayout) findViewById(R.id.fullScreenVideoFrameLayout);

    // Implement swipe to refresh
    swipeToRefresh = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
    assert swipeToRefresh != null; //This assert removes the incorrect warning on the following line that swipeToRefresh might be null.
    swipeToRefresh.setColorSchemeResources(R.color.blue);
    swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            mainWebView.reload();
        }
    });

    mainWebView = (WebView) findViewById(R.id.mainWebView);

    // Create the navigation drawer.
    drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    // The DrawerTitle identifies the drawer in accessibility mode.
    drawerLayout.setDrawerTitle(GravityCompat.START, getString(R.string.navigation_drawer));

    // Listen for touches on the navigation menu.
    final NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
    assert navigationView != null; // This assert removes the incorrect warning on the following line that navigationView might be null.
    navigationView.setNavigationItemSelectedListener(this);

    // drawerToggle creates the hamburger icon at the start of the AppBar.
    drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, supportAppBar, R.string.open_navigation,
            R.string.close_navigation);

    mainWebView.setWebViewClient(new WebViewClient() {
        // shouldOverrideUrlLoading makes this WebView the default handler for URLs inside the app, so that links are not kicked out to other apps.
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            mainWebView.loadUrl(url);
            return true;
        }

        // Update the URL in urlTextBox when the page starts to load.
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            urlTextBox.setText(url);
        }

        // Update formattedUrlString and urlTextBox.  It is necessary to do this after the page finishes loading because the final URL can change during load.
        @Override
        public void onPageFinished(WebView view, String url) {
            formattedUrlString = url;

            // Only update urlTextBox if the user is not typing in it.
            if (!urlTextBox.hasFocus()) {
                urlTextBox.setText(formattedUrlString);
            }
        }
    });

    mainWebView.setWebChromeClient(new WebChromeClient() {
        // Update the progress bar when a page is loading.
        @Override
        public void onProgressChanged(WebView view, int progress) {
            // Make sure that appBar is not null.
            if (appBar != null) {
                ProgressBar progressBar = (ProgressBar) appBar.getCustomView().findViewById(R.id.progressBar);
                progressBar.setProgress(progress);
                if (progress < 100) {
                    progressBar.setVisibility(View.VISIBLE);
                } else {
                    progressBar.setVisibility(View.GONE);

                    //Stop the SwipeToRefresh indicator if it is running
                    swipeToRefresh.setRefreshing(false);
                }
            }
        }

        // Set the favorite icon when it changes.
        @Override
        public void onReceivedIcon(WebView view, Bitmap icon) {
            // Save a copy of the favorite icon for use if a shortcut is added to the home screen.
            favoriteIcon = icon;

            // Place the favorite icon in the appBar if it is not null.
            if (appBar != null) {
                ImageView imageViewFavoriteIcon = (ImageView) appBar.getCustomView()
                        .findViewById(R.id.favoriteIcon);
                imageViewFavoriteIcon.setImageBitmap(Bitmap.createScaledBitmap(icon, 64, 64, true));
            }
        }

        // Enter full screen video
        @Override
        public void onShowCustomView(View view, CustomViewCallback callback) {
            if (appBar != null) {
                appBar.hide();
            }

            // Show the fullScreenVideoFrameLayout.
            assert fullScreenVideoFrameLayout != null; //This assert removes the incorrect warning on the following line that fullScreenVideoFrameLayout might be null.
            fullScreenVideoFrameLayout.addView(view);
            fullScreenVideoFrameLayout.setVisibility(View.VISIBLE);

            // Hide the mainWebView.
            mainWebView.setVisibility(View.GONE);

            // Hide the ad if this is the free flavor.
            BannerAd.hideAd(adView);

            /* SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bars on the bottom or right of the screen.
             * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar across the top of the screen.
             * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the navigation and status bars ghosted overlays and automatically rehides them.
             */

            // Set the one flag supported by API >= 14.
            view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

            // Set the two flags that are supported by API >= 16.
            if (Build.VERSION.SDK_INT >= 16) {
                view.setSystemUiVisibility(
                        View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
            }

            // Set all three flags that are supported by API >= 19.
            if (Build.VERSION.SDK_INT >= 19) {
                view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
            }
        }

        // Exit full screen video
        public void onHideCustomView() {
            if (appBar != null) {
                appBar.show();
            }

            // Show the mainWebView.
            mainWebView.setVisibility(View.VISIBLE);

            // Show the ad if this is the free flavor.
            BannerAd.showAd(adView);

            // Hide the fullScreenVideoFrameLayout.
            assert fullScreenVideoFrameLayout != null; //This assert removes the incorrect warning on the following line that fullScreenVideoFrameLayout might be null.
            fullScreenVideoFrameLayout.removeAllViews();
            fullScreenVideoFrameLayout.setVisibility(View.GONE);
        }
    });

    // Allow the downloading of files.
    mainWebView.setDownloadListener(new DownloadListener() {
        // Launch the Android download manager when a link leads to a download.
        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype,
                long contentLength) {
            DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
            DownloadManager.Request requestUri = new DownloadManager.Request(Uri.parse(url));

            // Add the URL as the description for the download.
            requestUri.setDescription(url);

            // Show the download notification after the download is completed.
            requestUri.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

            // Initiate the download and display a Snackbar.
            downloadManager.enqueue(requestUri);
            Snackbar.make(findViewById(R.id.mainWebView), R.string.download_started, Snackbar.LENGTH_SHORT)
                    .show();
        }
    });

    // Allow pinch to zoom.
    mainWebView.getSettings().setBuiltInZoomControls(true);

    // Hide zoom controls.
    mainWebView.getSettings().setDisplayZoomControls(false);

    // Initialize the default preference values the first time the program is run.
    PreferenceManager.setDefaultValues(this, R.xml.preferences, false);

    // Get the shared preference values.
    SharedPreferences savedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

    // Set JavaScript initial status.  The default value is false.
    javaScriptEnabled = savedPreferences.getBoolean("javascript_enabled", false);
    mainWebView.getSettings().setJavaScriptEnabled(javaScriptEnabled);

    // Initialize cookieManager.
    cookieManager = CookieManager.getInstance();

    // Set cookies initial status.  The default value is false.
    firstPartyCookiesEnabled = savedPreferences.getBoolean("first_party_cookies_enabled", false);
    cookieManager.setAcceptCookie(firstPartyCookiesEnabled);

    // Set third-party cookies initial status if API >= 21.  The default value is false.
    if (Build.VERSION.SDK_INT >= 21) {
        thirdPartyCookiesEnabled = savedPreferences.getBoolean("third_party_cookies_enabled", false);
        cookieManager.setAcceptThirdPartyCookies(mainWebView, thirdPartyCookiesEnabled);
    }

    // Set DOM storage initial status.  The default value is false.
    domStorageEnabled = savedPreferences.getBoolean("dom_storage_enabled", false);
    mainWebView.getSettings().setDomStorageEnabled(domStorageEnabled);

    // Set the user agent initial status.
    String userAgentString = savedPreferences.getString("user_agent", "Default user agent");
    switch (userAgentString) {
    case "Default user agent":
        // Do nothing.
        break;

    case "Custom user agent":
        // Set the custom user agent on mainWebView,  The default is "PrivacyBrowser/1.0".
        mainWebView.getSettings()
                .setUserAgentString(savedPreferences.getString("custom_user_agent", "PrivacyBrowser/1.0"));
        break;

    default:
        // Set the selected user agent on mainWebView.  The default is "PrivacyBrowser/1.0".
        mainWebView.getSettings()
                .setUserAgentString(savedPreferences.getString("user_agent", "PrivacyBrowser/1.0"));
        break;
    }

    // Set the initial string for JavaScript disabled search.
    if (savedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q=")
            .equals("Custom URL")) {
        // Get the custom URL string.  The default is "".
        javaScriptDisabledSearchURL = savedPreferences.getString("javascript_disabled_search_custom_url", "");
    } else {
        // Use the string from javascript_disabled_search.
        javaScriptDisabledSearchURL = savedPreferences.getString("javascript_disabled_search",
                "https://duckduckgo.com/html/?q=");
    }

    // Set the initial string for JavaScript enabled search.
    if (savedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q=")
            .equals("Custom URL")) {
        // Get the custom URL string.  The default is "".
        javaScriptEnabledSearchURL = savedPreferences.getString("javascript_enabled_search_custom_url", "");
    } else {
        // Use the string from javascript_enabled_search.
        javaScriptEnabledSearchURL = savedPreferences.getString("javascript_enabled_search",
                "https://duckduckgo.com/?q=");
    }

    // Set homepage initial status.  The default value is "https://www.duckduckgo.com".
    homepage = savedPreferences.getString("homepage", "https://www.duckduckgo.com");

    // Set swipe to refresh initial status.  The default is true.
    swipeToRefreshEnabled = savedPreferences.getBoolean("swipe_to_refresh_enabled", true);
    swipeToRefresh.setEnabled(swipeToRefreshEnabled);

    // Get the intent information that started the app.
    final Intent intent = getIntent();

    if (intent.getData() != null) {
        // Get the intent data and convert it to a string.
        final Uri intentUriData = intent.getData();
        formattedUrlString = intentUriData.toString();
    }

    // If formattedUrlString is null assign the homepage to it.
    if (formattedUrlString == null) {
        formattedUrlString = homepage;
    }

    // Load the initial website.
    mainWebView.loadUrl(formattedUrlString);

    // Initialize AdView for the free flavor and request an ad.  If this is not the free flavor BannerAd.requestAd() does nothing.
    adView = findViewById(R.id.adView);
    BannerAd.requestAd(adView);
}

From source file:es.uma.lcc.tasks.DecryptionRequestTask.java

@Override
public void onPostExecute(Void l) {
    mProgressDialog.dismiss();/*from ww w .j av  a 2s  . co m*/
    if (mConnectionSucceeded) {
        if (mIsAuthError) {
            handleAuthenticationError();
        } else {
            mMainActivity.findViewById(R.id.imageBlock).setVisibility(View.VISIBLE);
            mMainActivity.findViewById(R.id.encryptBlock).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.decryptBlock).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.myPicsBlock).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.accountBlock).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.filler1).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.filler2).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.filler3).setVisibility(View.GONE);
            mMainActivity.findViewById(R.id.filler4).setVisibility(View.GONE);
            ImageView imageView = (ImageView) mMainActivity.findViewById(R.id.imageView);
            imageView.setVisibility(ImageView.VISIBLE);
            if (!mHasFoundKeys) {
                Toast.makeText(mMainActivity, R.string.noKeysRetrievedWarning, Toast.LENGTH_SHORT).show();
            }

            if (mWidth >= 2048 || mHeight >= 2048) {
                double factor = (mWidth > mHeight ? 2048.0 / mWidth : 2048.0 / mHeight);
                imageView.setImageBitmap(Bitmap.createScaledBitmap(mDecodedBmp, (int) (factor * mWidth),
                        (int) (factor * mHeight), false));
            } else {
                imageView.setImageBitmap(mDecodedBmp);
            }
        }
    } else {
        Toast.makeText(mMainActivity, R.string.noConnectionWarning, Toast.LENGTH_SHORT).show();
    }
}

From source file:com.pizidea.imagepicker.AndroidImagePicker.java

public static Bitmap makeCropBitmap(Bitmap bitmap, Rect rectBox, RectF imageMatrixRect, int expectSize) {
    Bitmap bmp = bitmap;//from   ww  w .j av  a 2s. c  o  m
    RectF localRectF = imageMatrixRect;
    float f = localRectF.width() / bmp.getWidth();
    int left = (int) ((rectBox.left - localRectF.left) / f);
    int top = (int) ((rectBox.top - localRectF.top) / f);
    int width = (int) (rectBox.width() / f);
    int height = (int) (rectBox.height() / f);

    if (left < 0) {
        left = 0;
    }
    if (top < 0) {
        top = 0;
    }

    if (left + width > bmp.getWidth()) {
        width = bmp.getWidth() - left;
    }
    if (top + height > bmp.getHeight()) {
        height = bmp.getHeight() - top;
    }

    int k = width;
    if (width < expectSize) {
        k = expectSize;
    }
    if (width > expectSize) {
        k = expectSize;
    }
    try {
        bmp = Bitmap.createBitmap(bmp, left, top, width, height);

        if (k != width && k != height) {//don't do this if equals
            bmp = Bitmap.createScaledBitmap(bmp, k, k, true);//scale the bitmap
        }

    } catch (OutOfMemoryError localOutOfMemoryError1) {
        Log.v(TAG, "OOM when create bitmap");
    }

    return bmp;
}

From source file:com.entertailion.android.slideshow.utils.Utils.java

/**
 * Save a bitmap to a local file./*  w w  w. j  av a2 s . co m*/
 * 
 * @param context
 * @param bitmap
 * @param targetWidth
 * @param targetHeight
 * @param fileName
 * @throws IOException
 */
public static final void saveToFile(Context context, Bitmap bitmap, int targetWidth, int targetHeight,
        String fileName) throws IOException {
    FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
    // FileOutputStream fos = new FileOutputStream(fileName);
    if (bitmap.getWidth() == targetWidth && bitmap.getHeight() == targetHeight) {
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
    } else {
        Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, targetWidth, targetHeight, false);
        scaledBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
    }
    fos.close();
}