Android Open Source - java_mega_api Files Fragment






From Project

Back to project page java_mega_api.

License

The source code is released under:

GNU General Public License

If you think the Android project java_mega_api 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

/*******************************************************************************
 * Copyright (c) 2013 Dan Brough dan@danbrough.org. All rights reserved. 
 * This program and the accompanying materials are made available under the 
 * terms of the GNU Public License v3.0 which accompanies this distribution, 
 * and is available at http://www.gnu.org/licenses/gpl.html
 * //from   w w  w .  j a  v a  2  s  .co m
 ******************************************************************************/
package org.danbrough.mega.ui;

import org.danbrough.mega.MegaApplication;
import org.danbrough.mega.Node;
import org.danbrough.mega.Node.NodeType;
import org.danbrough.mega.R;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

public class FilesFragment extends android.support.v4.app.Fragment {
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory
      .getLogger(FilesFragment.class.getSimpleName());
  ListView fileView;
  FilesAdapter filesAdapter;

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    log.info("onCreateView()");
    fileView = new ListView(getActivity());
    registerForContextMenu(fileView);

    filesAdapter = new FilesAdapter(getActivity());
    fileView.setAdapter(filesAdapter);
    filesAdapter.setNotifyOnChange(false);

    fileView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position,
          long id) {
        log.info("itemClicked: {}", filesAdapter.getItem(position));
        onNodeClicked(view, filesAdapter.getItem(position));
      }

    });

    fileView
        .setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
          @Override
          public boolean onItemLongClick(AdapterView<?> parent, View view,
              int position, long id) {
            onNodeLongClicked(view, filesAdapter.getItem(position));
            return true;
          }
        });

    refresh();
    return fileView;
  }

  protected MegaApplication getApplication() {
    return ((MegaApplication) getActivity().getApplication());
  }

  protected void onNodeClicked(View view, Node node) {
    log.debug("onNodeClicked(): {}", node);
    if (node.getNodeType() == NodeType.FOLDERNODE) {
      getApplication().setFolder(node);
    }
  }

  protected AlertDialog.Builder createEditNodeDialog(final Node item) {
    AlertDialog.Builder builder = getApplication().createAlertDialog();
    builder.setTitle(item.getName());
    final String actions[] = { getString(R.string.download),
        getString(R.string.delete) };
    builder.setItems(actions, new DialogInterface.OnClickListener() {

      @Override
      public void onClick(DialogInterface dialog, int which) {
        log.debug("which: " + which);
        if (actions[which].equals(getString(R.string.download))) {
          getApplication().download(item);
        }
      }
    });
    builder.setNegativeButton(R.string.cancel,
        new DialogInterface.OnClickListener() {

          @Override
          public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
          }
        });
    return builder;
  }

  protected void onNodeLongClicked(View view, Node item) {
    log.debug("onNodeLongClicked(): {}", item);
    createEditNodeDialog(item).show();
  }

  public void setFolder(Node node) {
    log.info("setFolder(); {}", node);
    filesAdapter.setFolder(node);
  }

  public void refresh() {
    filesAdapter.refresh();
  }
}




Java Source Code List

org.danbrough.mega.APIError.java
org.danbrough.mega.AccountDetails.java
org.danbrough.mega.AndroidClient.java
org.danbrough.mega.Base64.java
org.danbrough.mega.Callback.java
org.danbrough.mega.CommandFetchNodes.java
org.danbrough.mega.CommandGetFile.java
org.danbrough.mega.CommandGetUserQuota.java
org.danbrough.mega.CommandLogin.java
org.danbrough.mega.CommandPutFile.java
org.danbrough.mega.Command.java
org.danbrough.mega.ExecutorThreadPool.java
org.danbrough.mega.GSONUtil.java
org.danbrough.mega.MegaActivity.java
org.danbrough.mega.MegaApplication.java
org.danbrough.mega.MegaClient.java
org.danbrough.mega.MegaCrypto.java
org.danbrough.mega.MegaFragmentActivity.java
org.danbrough.mega.MegaListener.java
org.danbrough.mega.Node.java
org.danbrough.mega.ThreadPool.java
org.danbrough.mega.User.java
org.danbrough.mega.ui.FilesAdapter.java
org.danbrough.mega.ui.FilesFragment.java
org.danbrough.megatest.MainActivity.java