Java Code Examples for android.text.TextUtils#isDigitsOnly()

The following examples show how to use android.text.TextUtils#isDigitsOnly() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
public static Object doParse(XulAttr prop) {
	xulParsedAttr_Img_FadeIn val = new xulParsedAttr_Img_FadeIn();
	String stringValue = prop.getStringValue();
	if ("true".equals(stringValue) || "enabled".equals(stringValue)) {
		val.enabled = true;
		val.duration = 300;
	} else if (TextUtils.isEmpty(stringValue) || "disabled".equals(stringValue) || "false".equals(stringValue)) {
		val.enabled = false;
		val.duration = 0;
	} else if (TextUtils.isDigitsOnly(stringValue)) {
		val.enabled = true;
		val.duration = XulUtils.tryParseInt(stringValue, 300);
	} else {
		val.enabled = false;
		val.duration = 300;
	}
	return val;
}
 
Example 2
Source Project: v9porn   File: ProxySettingActivity.java    License: MIT License 5 votes vote down vote up
@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.bt_proxy_setting_test:
            if (presenter.isSetPorn91VideoAddress()) {
                Logger.t(TAG).d("木有设置地址呀");
                showNeedSetAddressFirstDialog();
                return;
            }
            isTestSuccess = false;
            String proxyIpAddress = etDialogProxySettingIpAddress.getIpAddressStr();
            String portStr = etDialogProxySettingPort.getText().toString().trim();
            if (TextUtils.isEmpty(portStr) || TextUtils.isEmpty(proxyIpAddress) || !TextUtils.isDigitsOnly(portStr)) {
                showMessage("端口号或IP地址不正确", TastyToast.WARNING);
                return;
            }
            int proxyPort = Integer.parseInt(portStr);
            presenter.testProxy(proxyIpAddress, proxyPort);
            QMUIKeyboardHelper.hideKeyboard(v);
            break;
        case R.id.bt_proxy_setting_reset:
            etDialogProxySettingIpAddress.setIpAddressStr("");
            etDialogProxySettingPort.setText("");
            View view = getCurrentFocus();
            if (view instanceof AppCompatEditText || view instanceof EditText) {
                QMUIKeyboardHelper.showKeyboard((EditText) view, QMUIKeyboardHelper.SHOW_KEYBOARD_DELAY_TIME);
            }
            break;
        default:
    }
}
 
Example 3
Source Project: mimi-reader   File: RepliesDialog.java    License: Apache License 2.0 5 votes vote down vote up
public static RepliesDialog newInstance(@Nullable ChanThread thread, String id) {

        if (thread != null && thread.getPosts() != null && thread.getPosts().size() > 0 && !TextUtils.isEmpty(id)) {
            final String boardName = thread.getBoardName();
            final RepliesDialog dialog = new RepliesDialog();
            final Bundle args = new Bundle();
            final ArrayList<String> postNumbers = new ArrayList<>();

            for (ChanPost post : thread.getPosts()) {
                if (id.equals(post.getId())) {
                    postNumbers.add(String.valueOf(post.getNo()));
                }
            }

            args.putString(Extras.EXTRAS_BOARD_NAME, boardName);

            if (TextUtils.isDigitsOnly(id)) {
                args.putLong(Extras.EXTRAS_POST_ID, Long.valueOf(id));
            }

            args.putStringArrayList(Extras.EXTRAS_POST_LIST, postNumbers);
            args.putLong(Extras.EXTRAS_THREAD_ID, thread.getThreadId());

            ThreadRegistry.getInstance().setPosts(thread.getThreadId(), thread.getPosts());
            dialog.setArguments(args);
            return dialog;
        }

        return null;
    }
 
Example 4
/**
 * Called from {@link PinboardService} when this receiver's onReceive method was called and passed an appropriate intent.
 * This cannot be called directly as the snoozeDuration setting is needed which is held by the service and can only be obtained through binding.
 * Binding a service is not possible in a BroadcastReceiver so just start the service and let it take care of the work (and call this method)
 * @return number of updated pins
 */
public static int onSnoozePins(Context context, long snoozeDuration, Uri data) {
    ContentValues cv = new ContentValues();
    long snoozed = System.currentTimeMillis();

    //cv.put(NotesProvider.Notes.SNOOZED, snoozed);
    cv.put(NotesProvider.Notes.MODIFIED, snoozed);

    cv.put(NotesProvider.Notes.WAKE_UP, snoozed + snoozeDuration);

    switch(mUris.match(data)) {
        case NOTES_ITEM:
            //Check if last path segment is really just a valid id (probably redundant)
            String idstring = data.getLastPathSegment();

            if(TextUtils.isEmpty(idstring) || !TextUtils.isDigitsOnly(idstring)) {
                Log.e("SnoozeNoteReceiver", String.format("Could not snooze note item: invalid id '%s' in uri '%s'", idstring, data.toString()));
                return 0;
            }
            //continue to next
        case NOTES_LIST:
            int rows = context.getContentResolver().update(data, cv, "text IS NOT NULL", null);//snooze either on note item or all notes which are not marked as deleted (text is not null)
            Log.d("SnoozeNoteReceiver", String.format("Snoozed %d rows", rows));

            //show a toast if the user had dismissed this pin to indicate that this note will pop up again after some delay
            Toast.makeText(context, context.getResources().getString(R.string.toast_pin_dismissed, new Timespan(context, snoozeDuration).toString()), Toast.LENGTH_SHORT).show();

            return rows;
        default:
            Log.e("SnoozeNoteReceiver", String.format("Could not snooze note: invalid uri '%s'", data.toString()));
            return 0;
    }
}
 
Example 5
public static int getInt(String key, int defaultValue) {
    String origin = getString(key);
    if (!TextUtils.isEmpty(origin) && TextUtils.isDigitsOnly(origin)) {
        return Integer.valueOf(origin);
    }
    return defaultValue;
}
 
Example 6
Source Project: BaldPhone   File: ContactsActivity.java    License: Apache License 2.0 5 votes vote down vote up
@Override
protected Cursor getCursorForFilter(String filter, boolean favorite) {
    if (!TextUtils.isEmpty(filter) && TextUtils.isDigitsOnly(filter)) {
        return getContactsByNumberFilter(filter, favorite);
    } else {
        return getContactsByNameFilter(filter, favorite);
    }
}
 
Example 7
public Date getLastUpdateCheckTime() {
    String millis = mSharedPref.getString(PERF_LAST_UPDATE_CHECK, "");
    if (!TextUtils.isEmpty(millis) && TextUtils.isDigitsOnly(millis)) {
        try {
            return new Date(Long.parseLong(millis));
        } catch (Exception ignored) {
        }
    }
    return null;
}
 
Example 8
@Override
protected Integer doInBackground(String... strings) {
    // return version code
    byte[] codeByte = LightNetwork.LightHttpDownload(strings[0]);
    if (codeByte == null) return -1;
    String code = new String(codeByte).trim();
    Log.d("MewX", "version code: " + code);
    if (code.isEmpty() || !TextUtils.isDigitsOnly(code)) return -1;
    else return Integer.parseInt(code);
}
 
Example 9
@Override
public Bitmap decode(Context context, Uri uri) throws Exception {
    String uriString = uri.toString();
    BitmapFactory.Options options = new BitmapFactory.Options();
    Bitmap bitmap;
    options.inPreferredConfig = bitmapConfig;
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        bitmap = BitmapFactory.decodeResource(context.getResources(), id, options);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        bitmap = BitmapFactory.decodeStream(context.getAssets().open(assetName), null, options);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        bitmap = BitmapFactory.decodeFile(uriString.substring(FILE_PREFIX.length()), options);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            bitmap = BitmapFactory.decodeStream(inputStream, null, options);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { /* Ignore */ }
            }
        }
    }
    if (bitmap == null) {
        throw new RuntimeException("Skia image region decoder returned null bitmap - image format may not be supported");
    }
    return bitmap;
}
 
Example 10
@SuppressLint("DefaultLocale")
private void handleUriBefore(XParam param) throws Throwable {
	// Check URI
	if (param.args.length > 1 && param.args[0] instanceof Uri) {
		String uri = ((Uri) param.args[0]).toString().toLowerCase();
		String[] projection = (param.args[1] instanceof String[] ? (String[]) param.args[1] : null);

		if (uri.startsWith("content://com.android.contacts/contacts/name_phone_or_email")) {
			// Do nothing

		} else if (uri.startsWith("content://com.android.contacts/")
				&& !uri.equals("content://com.android.contacts/")) {
			String[] components = uri.replace("content://com.android.", "").split("/");
			String methodName = components[0] + "/" + components[1].split("\\?")[0];
			if (methodName.equals("contacts/contacts") || methodName.equals("contacts/data")
					|| methodName.equals("contacts/phone_lookup") || methodName.equals("contacts/raw_contacts"))
				if (isRestrictedExtra(param, PrivacyManager.cContacts, methodName, uri)) {
					// Get ID from URL if any
					int urlid = -1;
					if ((methodName.equals("contacts/contacts") || methodName.equals("contacts/phone_lookup"))
							&& components.length > 2 && TextUtils.isDigitsOnly(components[2]))
						urlid = Integer.parseInt(components[2]);

					// Modify projection
					boolean added = false;
					if (projection != null && urlid < 0) {
						List<String> listProjection = new ArrayList<String>();
						listProjection.addAll(Arrays.asList(projection));
						String cid = getIdForUri(uri);
						if (cid != null && !listProjection.contains(cid)) {
							added = true;
							listProjection.add(cid);
						}
						param.args[1] = listProjection.toArray(new String[0]);
					}
					if (added)
						param.setObjectExtra("column_added", added);
				}
		}
	}
}
 
Example 11
@Override
public Bitmap decode(Context context, Uri uri) throws Exception {
    String uriString = uri.toString();
    BitmapFactory.Options options = new BitmapFactory.Options();
    Bitmap bitmap;
    options.inPreferredConfig = Bitmap.Config.RGB_565;
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        bitmap = BitmapFactory.decodeResource(context.getResources(), id, options);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        bitmap = BitmapFactory.decodeStream(context.getAssets().open(assetName), null, options);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        bitmap = BitmapFactory.decodeFile(uriString.substring(FILE_PREFIX.length()), options);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            bitmap = BitmapFactory.decodeStream(inputStream, null, options);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { }
            }
        }
    }
    if (bitmap == null) {
        throw new RuntimeException("Skia image region decoder returned null bitmap - image format may not be supported");
    }
    return bitmap;
}
 
Example 12
@Override
public Point init(Context context, Uri uri) throws Exception {
    String uriString = uri.toString();
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        decoder = BitmapRegionDecoder.newInstance(context.getResources().openRawResource(id), false);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        decoder = BitmapRegionDecoder.newInstance(context.getAssets().open(assetName, AssetManager.ACCESS_RANDOM), false);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        decoder = BitmapRegionDecoder.newInstance(uriString.substring(FILE_PREFIX.length()), false);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            decoder = BitmapRegionDecoder.newInstance(inputStream, false);
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (Exception e) {
                }
            }
        }
    }
    return new Point(decoder.getWidth(), decoder.getHeight());
}
 
Example 13
private static boolean isCardNumberValid(CharSequence number) {
    return (TextUtils.isDigitsOnly(number) && number.length() == 16);
}
 
Example 14
Source Project: v9porn   File: Parse99Mm.java    License: MIT License 4 votes vote down vote up
public static BaseResult<List<Mm99>> parse99MmList(String html, int page) {
    BaseResult<List<Mm99>> baseResult = new BaseResult<>();
    baseResult.setTotalPage(1);
    Logger.t(TAG).d(html);
    Document doc = Jsoup.parse(html);
    Element ul = doc.getElementById("piclist");
    Elements lis = ul.select("li");
    List<Mm99> mm99List = new ArrayList<>();
    for (Element li : lis) {
        Mm99 mm99 = new Mm99();
        Element a = li.selectFirst("dt").selectFirst("a");
        String contentUrl = "http://www.99mm.me" + a.attr("href");
        mm99.setContentUrl(contentUrl);

        int startIndex = contentUrl.lastIndexOf("/");
        int endIndex = contentUrl.lastIndexOf(".");
        String idStr = StringUtils.subString(contentUrl, startIndex + 1, endIndex);

        if (!TextUtils.isEmpty(idStr) && TextUtils.isDigitsOnly(idStr)) {
            mm99.setId(Integer.parseInt(idStr));
        } else {
            Logger.t(TAG).d(idStr);
        }

        Element img = a.selectFirst("img");
        String title = img.attr("alt");
        mm99.setTitle(title);
        String imgUrl = img.attr("src");
        HttpUrl httpUrl = HttpUrl.parse(imgUrl);
        if (httpUrl == null) {
            imgUrl = img.attr("data-img");
        }
        Logger.t(TAG).d("图片链接::" + imgUrl);
        mm99.setImgUrl(imgUrl);
        int imgWidth = Integer.parseInt(img.attr("width"));
        mm99.setImgWidth(imgWidth);

        mm99List.add(mm99);
    }

    if (page == 1) {
        Element pageElement = doc.getElementsByClass("all").first();
        if (pageElement != null) {
            String pageStr = pageElement.text().replace("...", "").trim();
            if (!TextUtils.isEmpty(pageStr) && TextUtils.isDigitsOnly(pageStr)) {
                baseResult.setTotalPage(Integer.parseInt(pageStr));
            } else {
                Logger.t(TAG).d(pageStr);
            }
        }
    }

    baseResult.setData(mm99List);
    return baseResult;
}
 
Example 15
@Override
public Point init(Context context, Uri uri) throws Exception {
    String uriString = uri.toString();
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        decoder = BitmapRegionDecoder.newInstance(context.getResources().openRawResource(id), false);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        decoder = BitmapRegionDecoder.newInstance(context.getAssets().open(assetName, AssetManager.ACCESS_RANDOM), false);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        decoder = BitmapRegionDecoder.newInstance(uriString.substring(FILE_PREFIX.length()), false);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            decoder = BitmapRegionDecoder.newInstance(inputStream, false);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { /* Ignore */ }
            }
        }
    }
    return new Point(decoder.getWidth(), decoder.getHeight());
}
 
Example 16
Source Project: RxTools-master   File: SkiaImageDecoder.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public Bitmap decode(Context context, Uri uri) throws Exception {
    String uriString = uri.toString();
    BitmapFactory.Options options = new BitmapFactory.Options();
    Bitmap bitmap;
    options.inPreferredConfig = Bitmap.Config.RGB_565;
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        bitmap = BitmapFactory.decodeResource(context.getResources(), id, options);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        bitmap = BitmapFactory.decodeStream(context.getAssets().open(assetName), null, options);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        bitmap = BitmapFactory.decodeFile(uriString.substring(FILE_PREFIX.length()), options);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            bitmap = BitmapFactory.decodeStream(inputStream, null, options);
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (Exception e) {
                }
            }
        }
    }
    if (bitmap == null) {
        throw new RuntimeException("Skia image region decoder returned null bitmap - image format may not be supported");
    }
    return bitmap;
}
 
Example 17
Source Project: BlogDemo   File: SkiaImageRegionDecoder.java    License: Apache License 2.0 4 votes vote down vote up
@Override
@NonNull
public Point init(Context context, @NonNull Uri uri) throws Exception {
    String uriString = uri.toString();
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        decoder = BitmapRegionDecoder.newInstance(context.getResources().openRawResource(id), false);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        decoder = BitmapRegionDecoder.newInstance(context.getAssets().open(assetName, AssetManager.ACCESS_RANDOM), false);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        decoder = BitmapRegionDecoder.newInstance(uriString.substring(FILE_PREFIX.length()), false);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            decoder = BitmapRegionDecoder.newInstance(inputStream, false);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { /* Ignore */ }
            }
        }
    }
    return new Point(decoder.getWidth(), decoder.getHeight());
}
 
Example 18
@Override
@NonNull
public Point init(Context context, @NonNull Uri uri) throws Exception {
    String uriString = uri.toString();
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        decoder = BitmapRegionDecoder.newInstance(context.getResources().openRawResource(id), false);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        decoder = BitmapRegionDecoder.newInstance(context.getAssets().open(assetName, AssetManager.ACCESS_RANDOM), false);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        decoder = BitmapRegionDecoder.newInstance(uriString.substring(FILE_PREFIX.length()), false);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            decoder = BitmapRegionDecoder.newInstance(inputStream, false);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { /* Ignore */ }
            }
        }
    }
    return new Point(decoder.getWidth(), decoder.getHeight());
}
 
Example 19
Source Project: hipda   File: PostFragment.java    License: GNU General Public License v2.0 4 votes vote down vote up
private boolean isValidImgId(String imgId) {
    return !TextUtils.isEmpty(imgId)
            && TextUtils.isDigitsOnly(imgId)
            && imgId.length() > 1;
}
 
Example 20
@Override
public Bitmap decode(Context context, Uri uri) throws Exception {
    String uriString = uri.toString();
    BitmapFactory.Options options = new BitmapFactory.Options();
    Bitmap bitmap;
    options.inPreferredConfig = Bitmap.Config.RGB_565;
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        bitmap = BitmapFactory.decodeResource(context.getResources(), id, options);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        bitmap = BitmapFactory.decodeStream(context.getAssets().open(assetName), null, options);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        bitmap = BitmapFactory.decodeFile(uriString.substring(FILE_PREFIX.length()), options);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            bitmap = BitmapFactory.decodeStream(inputStream, null, options);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { }
            }
        }
    }
    if (bitmap == null) {
        throw new RuntimeException("Skia image region decoder returned null bitmap - image format may not be supported");
    }
    return bitmap;
}