Android Open Source - dissertation-project Utils






From Project

Back to project page dissertation-project.

License

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.

Java Source Code

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);
    }

}




Java Source Code List

com.fyp.resilience.Constants.java
com.fyp.resilience.Flags.java
com.fyp.resilience.GCMIntentService.java
com.fyp.resilience.PreferenceConstants.java
com.fyp.resilience.ResilienceApplication.java
com.fyp.resilience.ResilienceController.java
com.fyp.resilience.activity.LicenceActivity.java
com.fyp.resilience.activity.ResilienceActivity.java
com.fyp.resilience.activity.SettingsActivity.java
com.fyp.resilience.adapter.ClientListAdapter.java
com.fyp.resilience.adapter.ConnectionListAdapter.java
com.fyp.resilience.adapter.FileListAdapter.java
com.fyp.resilience.connection.Connectable.java
com.fyp.resilience.connection.ServerDownloadConnectable.java
com.fyp.resilience.connection.ServerUploadConnectable.java
com.fyp.resilience.connection.UploadConnectable.java
com.fyp.resilience.connection.WifiDownloadConnectable.java
com.fyp.resilience.connection.WifiUploadConnectable.java
com.fyp.resilience.database.ResilienceDbHelper.java
com.fyp.resilience.database.ResilienceDbManager.java
com.fyp.resilience.database.model.DataPiece.java
com.fyp.resilience.database.model.DataWhole.java
com.fyp.resilience.event.ClientListChanged.java
com.fyp.resilience.event.ClientModified.java
com.fyp.resilience.event.ConnectionProgressChange.java
com.fyp.resilience.event.ConnectionStateChange.java
com.fyp.resilience.event.ConnectionsModified.java
com.fyp.resilience.event.PieceStateChange.java
com.fyp.resilience.event.ServerRegistrationChanged.java
com.fyp.resilience.event.ServerUploadFinished.java
com.fyp.resilience.event.WholeModified.java
com.fyp.resilience.event.WifiDownloadFinished.java
com.fyp.resilience.event.WifiUploadFinished.java
com.fyp.resilience.fragment.ClientsFragment.java
com.fyp.resilience.fragment.ConnectionsFragment.java
com.fyp.resilience.fragment.FilesFragment.java
com.fyp.resilience.interfaces.Messagable.java
com.fyp.resilience.interfaces.Partialable.java
com.fyp.resilience.proto.ProtoBuffSpecification.java
com.fyp.resilience.receiver.AbstractConnectivityBroadcastReceiver.java
com.fyp.resilience.receiver.BootReceiver.java
com.fyp.resilience.receiver.ConnectivityBroadcastReceiver.java
com.fyp.resilience.receiver.WiFiDirectBroadcastReceiver.java
com.fyp.resilience.register.RegisterRequestInitializer.java
com.fyp.resilience.register.RegisterRequest.java
com.fyp.resilience.register.RegisterScopes.java
com.fyp.resilience.register.Register.java
com.fyp.resilience.register.model.DeviceInfo.java
com.fyp.resilience.service.PieceUploadService.java
com.fyp.resilience.stream.PiecedRandomAccessFile.java
com.fyp.resilience.swarm.helper.NsdHelper.java
com.fyp.resilience.swarm.helper.SwarmHelperInterface.java
com.fyp.resilience.swarm.helper.WifiDirectSdHelper.java
com.fyp.resilience.swarm.model.SwarmClient.java
com.fyp.resilience.thread.ResilienceRunnable.java
com.fyp.resilience.thread.ResilienceThreadFactory.java
com.fyp.resilience.util.ConnectionUtils.java
com.fyp.resilience.util.Utils.java
com.fyp.resilience.view.ClientView.java
com.fyp.resilience.view.ConnectionView.java
com.fyp.resilience.view.FileView.java
com.fyp.resilience.view.PieceProgressIndicator.java
com.fyp.resilience.widerst.WiderstRequestInitializer.java
com.fyp.resilience.widerst.WiderstRequest.java
com.fyp.resilience.widerst.WiderstScopes.java
com.fyp.resilience.widerst.Widerst.java
com.fyp.resilience.widerst.model.DataPiecePartial.java
com.fyp.resilience.widerst.model.DataWholePartial.java
com.fyp.resilience.widerst.model.PostResponse.java
com.fyp.widerst.Constants.java
com.fyp.widerst.WiderstObjectifyService.java
com.fyp.widerst.backend.FileJoinerBackend.java
com.fyp.widerst.cron.CronJobServlet.java
com.fyp.widerst.endpoint.DataPieceEndpoint.java
com.fyp.widerst.endpoint.DeviceInfoEndpoint.java
com.fyp.widerst.entity.DataPiece.java
com.fyp.widerst.entity.DataWhole.java
com.fyp.widerst.entity.DeviceInfo.java
com.fyp.widerst.handler.BlobstoreUploadHandler.java
com.fyp.widerst.partial.DataPiecePartial.java
com.fyp.widerst.partial.DataWholePartial.java
com.fyp.widerst.response.PostResponse.java
com.fyp.widerst.servlet.WholeFileServer.java
com.fyp.widerst.util.DbHelper.java
com.fyp.widerst.util.GcmHelper.java