Back to project page dissertation-project.
The source code is released under:
MIT License
If you think the Android project dissertation-project listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.fyp.resilience.util; //from w w w. ja v a2 s. c om import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.preference.PreferenceManager; import android.provider.MediaStore; import com.fyp.resilience.PreferenceConstants; import com.fyp.resilience.receiver.ConnectivityBroadcastReceiver; import com.fyp.resilience.register.model.DeviceInfo; import com.google.android.gcm.GCMRegistrar; public final class Utils { /** * @param context - This application's {@link Context}. * @param intent - The action {@link Intent} to search for. * @return True or false depending on whether an application can handle the * given URI. */ public static boolean isUriAvailable(final Context context, final Intent intent) { return context.getPackageManager().resolveActivity(intent, 0) != null; } /** * @param context - This application's {@link Context}. * @return True or false depending on whether this device has a camera. */ public static boolean hasCamera(final Context context) { final PackageManager pm = context.getPackageManager(); return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT) || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA); } /** * @param context - This application's {@link Context}. * @param contentUri - The {@link Uri} to query against. * @return The {@link Uri}'s file path. */ public static String getFilePathFromUri(final Context context, final Uri contentUri) { /* Retrieve the scheme associated with this URI */ final String uriScheme = contentUri.getScheme(); /* Check if the URI is a file pointer or content */ if (ContentResolver.SCHEME_FILE.equals(uriScheme)) { return contentUri.getPath(); } else if (ContentResolver.SCHEME_CONTENT.equals(uriScheme)) { /* * If content then we must query a content resolver for the true * file path */ final Cursor cursor = context.getContentResolver().query(contentUri, null, null, null, null); try { if (cursor.moveToFirst()) { final int pathIndex = cursor.getColumnIndex(MediaStore.MediaColumns.DATA); return cursor.getString(pathIndex); } } finally { cursor.close(); } } return null; } /** * @param context - This application's {@link Context}. * @return The {@link DeviceInfo} of this device. */ public static DeviceInfo getDeviceInfo(final Context context) { final String gcmRegistrationId = GCMRegistrar.getRegistrationId(context); final String serverId = PreferenceManager.getDefaultSharedPreferences(context).getString( PreferenceConstants.SERVER_ID_KEY, ""); return new DeviceInfo() .setDeviceRegistrationId(gcmRegistrationId) .setServerRegistrationId(serverId); } /** * Query this device's Connectivity status and retrieves its GCM status. * * @param context - This application's {@link Context}. * @return True or false depending on whether this device can currently * upload. */ public static boolean canUploadToServer(final Context context) { if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(PreferenceConstants.WIFI_ONLY_KEY, false)) { return ConnectivityBroadcastReceiver.isConnected(context) && !getDeviceInfo(context).getServerRegistrationId().equals("") && ConnectivityBroadcastReceiver.isConnectedToWifi(context); } else { return ConnectivityBroadcastReceiver.isConnected(context) && !getDeviceInfo(context).getServerRegistrationId().equals(""); } } /** * @param context - This application's {@link Context}. * @param name - The file's name. * @param mode - The read/write mode of the file. * @return The new {@link FileOutputStream} of the file. * @throws FileNotFoundException */ public static FileOutputStream createFile(final Context context, final String name, final int mode) throws FileNotFoundException { return context.openFileOutput(name, mode); } /** * @param context - This application's {@link Context}. * @param name - The file's name. * @return The found file or null. */ public static File getFileFromStream(final Context context, final String name) { return context.getFileStreamPath(name); } }