Android Open Source - dissertation-project Files Fragment






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.fragment;
/*  w  w  w  .  j a  v a2s.  c  om*/
import android.app.AlertDialog;
import android.app.ListFragment;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.MimeTypeMap;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Toast;

import com.fyp.resilience.Flags;
import com.fyp.resilience.R;
import com.fyp.resilience.ResilienceApplication;
import com.fyp.resilience.ResilienceController;
import com.fyp.resilience.adapter.FileListAdapter;
import com.fyp.resilience.connection.Connectable;
import com.fyp.resilience.connection.ServerDownloadConnectable;
import com.fyp.resilience.database.model.DataWhole;
import com.fyp.resilience.event.WholeModified;
import com.fyp.resilience.util.Utils;
import com.fyp.resilience.view.FileView;

import de.greenrobot.event.EventBus;

public class FilesFragment extends ListFragment implements OnItemClickListener {

    private static final String TAG = FilesFragment.class.getSimpleName();

    private BaseAdapter mListAdapter;

    boolean mDualPane;

    @Override
    public void onActivityCreated(final Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        EventBus.getDefault().register(this);

        getListView().setOnItemClickListener(this);

        mListAdapter = new FileListAdapter(getActivity());
        setListAdapter(mListAdapter);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }

    public void onEventMainThread(final WholeModified event) {
        if (Flags.DEBUG) {
            Log.i(TAG, event.getClass().getSimpleName() + " event has been called");
        }
        notifyChange();
    }

    private void notifyChange() {
        mListAdapter.notifyDataSetChanged();
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        final FileView fileView = (FileView) view;

        if (null != fileView) {
            final DataWhole dataWhole = fileView.getDataWhole();
            if (null != dataWhole) {

                /* Check if the Whole already has a URI */
                if (null != dataWhole.getUriString()) {
                    final Uri fileUri = Uri.parse(dataWhole.getUriString());
                    final Intent fileIntent = new Intent(Intent.ACTION_VIEW);

                    final String fileExtension = MimeTypeMap.getFileExtensionFromUrl(fileUri.toString());
                    final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);

                    fileIntent.setDataAndType(fileUri, mimeType);
                    if (Utils.isUriAvailable(getActivity(), fileIntent)) {
                        startActivity(fileIntent);
                    } else {
                        Toast.makeText(getActivity(), getString(R.string.run_file_no_applications), Toast.LENGTH_SHORT)
                                .show();
                    }

                } else if (dataWhole.getState() == DataWhole.STATE_DOWNLOADING) {
                    Toast.makeText(getActivity(), getString(R.string.download_in_progress), Toast.LENGTH_SHORT);

                } else {

                    /* Ask the user if they wish to attempt a download */
                    final AlertDialog.Builder alertBuilder = new AlertDialog.Builder(getActivity());
                    alertBuilder.setMessage(getString(R.string.download_alert_question))
                            .setCancelable(true);

                    alertBuilder.setPositiveButton(R.string.download_alert_yes_button,
                            new OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Connectable serverDownload = new ServerDownloadConnectable(getActivity(), dataWhole);

                                    ResilienceController.getInstance(getActivity()).addConnection(serverDownload);

                                    ResilienceApplication.getApplication(getActivity())
                                            .getServerUploadThreadExecutorService().submit(serverDownload);
                                }
                            });

                    alertBuilder.setNegativeButton(R.string.download_alert_no_button, null);

                    alertBuilder.create().show();
                }
            }
        }
    }
}




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