/* This file is part of the Diaspora for Android. Diaspora for Android is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Diaspora for Android is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the Diaspora for Android. If not, see . */ package com.github.dfa.diaspora_android.util; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import com.github.dfa.diaspora_android.util.Log; import com.github.dfa.diaspora_android.App; import com.github.dfa.diaspora_android.R; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.Locale; import java.util.Objects; public class Helpers { public static void animateToActivity(Activity from, Class to, boolean finishFromActivity) { Intent intent = new Intent(from, to); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); from.startActivity(intent); from.overridePendingTransition(R.anim.fadein, R.anim.fadeout); if (finishFromActivity) { from.finish(); } } public static void loadUrlInExternalBrowser(Context context, String url) { try { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); context.startActivity(browserIntent); } catch (Exception ignored) { } } public static File createImageFile() throws IOException { // Create an image file name String timeStamp = new SimpleDateFormat("dd-MM-yy_HH-mm", Locale.getDefault()).format(new Date()); String imageFileName = "JPEG_" + timeStamp + "_"; Log.d(App.TAG, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath()); File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES); return new File ( imageFileName + /* prefix */ ".jpg", /* suffix */ storageDir.getAbsolutePath() /* directory */ ); } public static String readTextfileFromRawRessource(Context context, int rawRessourceId, String linePrefix, String linePostfix) { StringBuilder sb = new StringBuilder(); String line = ""; BufferedReader br = null; linePrefix = linePrefix == null ? "" : linePrefix; linePostfix = linePostfix == null ? "" : linePostfix; try { br = new BufferedReader(new InputStreamReader(context.getResources().openRawResource(rawRessourceId))); while ((line = br.readLine()) != null) { sb.append(linePrefix); sb.append(line); sb.append(linePostfix); sb.append("\n"); } } catch (Exception ignored) { } finally { if (br != null) { try { br.close(); } catch (IOException ignored) { } } } return sb.toString(); } public static String hexColorFromRessourceColor(Context context, int idColor){ return "#" + Integer.toHexString(context.getResources().getColor(idColor) & 0x00ffffff); } public static void printBundle(Bundle savedInstanceState, String k) { if(savedInstanceState != null) { for (String key : savedInstanceState.keySet()) { Log.d("SAVED", key + " is a key in the bundle "+k); Object bun = savedInstanceState.get(key); if(bun != null) { if (bun instanceof Bundle) { printBundle((Bundle) bun, k + "." + key); } else if (bun instanceof byte[]) { Log.d("SAVED", "Key: "+k + "." + key+": "+ Arrays.toString((byte[])bun)); } else { Log.d("SAVED", "Key: "+k + "." + key+": "+ bun.toString()); } } } } } }