Skip to content

Commit

Permalink
Added swipe to refresh
Browse files Browse the repository at this point in the history
  • Loading branch information
mauriciotogneri committed Oct 1, 2016
1 parent 9ed5fdf commit a46d0c9
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 49 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ android
applicationId "com.mauriciotogneri.fileexplorer"
minSdkVersion 14
targetSdkVersion 22
versionCode 5
versionName "1.0.5"
versionCode 6
versionName "1.0.6"
}

signingConfigs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;
import android.support.v7.app.AlertDialog;
import android.view.KeyEvent;
import android.view.LayoutInflater;
Expand Down Expand Up @@ -43,6 +45,7 @@ public class FolderFragment extends Fragment
private static final String PARAMETER_FOLDER_PATH = "folder.path";

private MainActivity mainActivity;
private SwipeRefreshLayout swipeContainer;
private ListView listView;
private TextView labelNoItems;
private FolderAdapter adapter;
Expand Down Expand Up @@ -70,6 +73,7 @@ public final View onCreateView(LayoutInflater inflater, ViewGroup container, Bun
{
View view = inflater.inflate(R.layout.screen_folder, container, false);

swipeContainer = (SwipeRefreshLayout) view.findViewById(R.id.swipeContainer);
listView = (ListView) view.findViewById(R.id.list);
labelNoItems = (TextView) view.findViewById(R.id.label_noItems);

Expand All @@ -81,59 +85,60 @@ public final void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);

List<FileInfo> files = getFileList();
adapter = new FolderAdapter(mainActivity);

if (!files.isEmpty())
swipeContainer.setColorSchemeResources(R.color.blue1);
swipeContainer.setOnRefreshListener(new OnRefreshListener()
{
adapter.update(files);
@Override
public void onRefresh()
{
refreshFolder();
swipeContainer.setRefreshing(false);
}
});

listView.setAdapter(adapter);
adapter = new FolderAdapter(mainActivity);

listView.setOnItemClickListener(new OnItemClickListener()
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
FileInfo fileInfo = (FileInfo) parent.getItemAtPosition(position);
FileInfo fileInfo = (FileInfo) parent.getItemAtPosition(position);

if (adapter.isSelectionMode())
if (adapter.isSelectionMode())
{
adapter.updateSelection(fileInfo.toggleSelection());
updateButtonBar();
}
else
{
if (fileInfo.isDirectory())
{
adapter.updateSelection(fileInfo.toggleSelection());
updateButtonBar();
openFolder(fileInfo);
}
else
{
if (fileInfo.isDirectory())
{
openFolder(fileInfo);
}
else
{
openFile(fileInfo);
}
openFile(fileInfo);
}
}
});
}
});

listView.setOnItemLongClickListener(new OnItemLongClickListener()
listView.setOnItemLongClickListener(new OnItemLongClickListener()
{
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
{
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
{
FileInfo fileInfo = (FileInfo) parent.getItemAtPosition(position);
adapter.updateSelection(fileInfo.toggleSelection());
updateButtonBar();
FileInfo fileInfo = (FileInfo) parent.getItemAtPosition(position);
adapter.updateSelection(fileInfo.toggleSelection());
updateButtonBar();

return true;
}
});
}
else
{
listView.setVisibility(View.GONE);
labelNoItems.setVisibility(View.VISIBLE);
}
return true;
}
});

refreshFolder();
}

public synchronized boolean onBackPressed()
Expand Down Expand Up @@ -250,7 +255,7 @@ private void openFile(FileInfo fileInfo)
intent.setDataAndType(fileInfo.uri(), fileInfo.mimeType());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(Intent.createChooser(intent, getString(R.string.openFile_title)));
startActivity(intent);
}

public void onCut()
Expand Down Expand Up @@ -484,5 +489,10 @@ public void refreshFolder()
listView.setVisibility(View.GONE);
labelNoItems.setVisibility(View.VISIBLE);
}
else
{
listView.setVisibility(View.VISIBLE);
labelNoItems.setVisibility(View.GONE);
}
}
}
19 changes: 13 additions & 6 deletions app/src/main/res/layout/screen_folder.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,20 @@
android:background="@android:color/white"
android:orientation="vertical">

<ListView
android:id="@+id/list"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:divider="@color/gray3"
android:dividerHeight="0.2dp"/>
android:layout_height="match_parent">

<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:divider="@color/gray3"
android:dividerHeight="0.2dp"/>

</android.support.v4.widget.SwipeRefreshLayout>

<TextView
android:id="@+id/label.noItems"
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
<string name="delete.deleting">Deleting…</string>
<string name="delete.error">Error deleting</string>

<string name="openFile.title">Open file</string>
<string name="shareFile.title">Share file</string>

</resources>

0 comments on commit a46d0c9

Please sign in to comment.