package com.steamcommunity.siplus.steamscreenshots; import java.io.Closeable; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import android.app.ActionBar; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.drawable.Drawable; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; public final class Utility { static final String PACKAGE = "com.steamcommunity.siplus.steamscreenshots"; static String applicationLabel(PackageManager packageManager, String packageName) { try { ApplicationInfo info = packageManager.getApplicationInfo(packageName, 0); return (String)(packageManager.getApplicationLabel(info)); } catch (NameNotFoundException e) { return packageName; } } static void closeCloseable(Closeable closeable) { try { closeable.close(); } catch (IOException e) {} } static void enableActionBarBack(Activity activity) { ActionBar actionBar = activity.getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); } static View inflateImageTextListItem(LayoutInflater inflater, ViewGroup parent, Drawable image, CharSequence text) { View view = inflater.inflate(R.layout.list_imagetext, parent, false); ((ImageView)(view.findViewById(R.id.list_imagetext_image))).setImageDrawable(image); ((TextView)(view.findViewById(R.id.list_imagetext_text))).setText(text); return view; } static boolean isConnected(Context context) { NetworkInfo networkInfo = ((ConnectivityManager)(context.getSystemService(Context.CONNECTIVITY_SERVICE))) .getActiveNetworkInfo(); return (networkInfo != null) && networkInfo.isConnectedOrConnecting(); } static boolean makeDirectories(File path) { return path.isDirectory() || path.mkdirs(); } static void readFromStream(InputStream stream, byte[] target) throws IOException { int read; int toRead = target.length; while (toRead > 0) { read = stream.read(target, target.length - toRead, toRead); if (read <= 0) { throw new IOException(); } if (read > toRead) { throw new IOException(); } toRead -= read; } } static byte[] shaHash(byte[] bytes) { MessageDigest digest; try { digest = MessageDigest.getInstance("SHA-1"); } catch (NoSuchAlgorithmException e) { return null; } return digest.digest(bytes); } static ProgressDialog showCancellingProgress(Context context, DialogInterface.OnCancelListener listener) { ProgressDialog dialog = new ProgressDialog(context); dialog.setMessage(context.getResources().getString(R.string.cancelling_message)); dialog.setOnCancelListener(listener); dialog.setTitle(R.string.cancelling_title); dialog.show(); return dialog; } static void reverseArray(int[] array) { int i; int l = array.length; int t; int e; for (i = l >> 1; --i >= 0; ) { t = l - i - 1; e = array[t]; array[t] = array[i]; array[i] = e; } } }