package org.horaapps.leafpic.activities;
import android.os.Bundle;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.mikepenz.google_material_typeface_library.GoogleMaterial;
import com.mikepenz.iconics.view.IconicsImageView;
import org.horaapps.leafpic.MyApplication;
import org.horaapps.leafpic.activities.base.ThemedActivity;
import org.horaapps.leafpic.data.CustomAlbumsHelper;
import java.io.File;
import java.util.ArrayList;
/**
* Created by Jibo on 04/04/2016.
*/
public class ExcludedAlbumsActivity extends ThemedActivity {
private ArrayList<File> excludedFolders = new ArrayList<File>();
private CustomAlbumsHelper h;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(org.horaapps.leafpic.R.layout.activity_excluded);
h = CustomAlbumsHelper.getInstance(getApplicationContext());
excludedFolders = h.getExcludedFolders();
checkNothing();
initUI();
}
private void checkNothing() {
TextView a = (TextView) findViewById(org.horaapps.leafpic.R.id.nothing_to_show);
a.setTextColor(getTextColor());
a.setVisibility(excludedFolders.size() == 0 ? View.VISIBLE : View.GONE);
}
private void initUI(){
RecyclerView mRecyclerView;
Toolbar toolbar;
/** TOOLBAR **/
toolbar = (Toolbar) findViewById(org.horaapps.leafpic.R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
/** RECYCLE VIEW**/
mRecyclerView = (RecyclerView) findViewById(org.horaapps.leafpic.R.id.excluded_albums);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setAdapter(new ExcludedItemsAdapter());
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 1));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setBackgroundColor(getBackgroundColor());
/**SET UP UI COLORS**/
toolbar.setBackgroundColor(getPrimaryColor());
toolbar.setNavigationIcon(getToolbarIcon(GoogleMaterial.Icon.gmd_arrow_back));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
setStatusBarColor();
setNavBarColor();
setRecentApp(getString(org.horaapps.leafpic.R.string.excluded_albums));
findViewById(org.horaapps.leafpic.R.id.rl_ea).setBackgroundColor(getBackgroundColor());
}
private class ExcludedItemsAdapter extends RecyclerView.Adapter<ExcludedItemsAdapter.ViewHolder> {
private View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
String path = v.getTag().toString();
int pos;
if((pos = getIndex(path)) !=-1) {
h.clearAlbumExclude(excludedFolders.remove(pos).getAbsolutePath());
new Thread(new Runnable() {
@Override
public void run() {
((MyApplication) getApplicationContext()).getAlbums().loadAlbums(getApplicationContext());
}
});
notifyItemRemoved(pos);
checkNothing();
}
}
};
public ExcludedItemsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(org.horaapps.leafpic.R.layout.card_excluded_album, parent, false);
v.findViewById(org.horaapps.leafpic.R.id.UnExclude_icon).setOnClickListener(listener);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ExcludedItemsAdapter.ViewHolder holder, final int position) {
File excludedFolder = excludedFolders.get(position);
holder.album_path.setText(excludedFolder.getAbsolutePath());
holder.album_name.setText(excludedFolder.getName());
holder.imgUnExclude.setTag(excludedFolder.getAbsolutePath());
holder.imgFolder.setIcon(GoogleMaterial.Icon.gmd_folder);
/**SET LAYOUT THEME**/
holder.album_name.setTextColor(getTextColor());
holder.album_path.setTextColor(getSubTextColor());
holder.imgFolder.setColor(getIconColor());
holder.imgUnExclude.setColor(getIconColor());
holder.card_layout.setBackgroundColor(getCardBackgroundColor());
}
public int getItemCount() {
return excludedFolders.size();
}
int getIndex(String path) {
for (int i = 0; i < excludedFolders.size(); i++)
if (excludedFolders.get(i).getAbsolutePath().equals(path)) return i;
return -1;
}
class ViewHolder extends RecyclerView.ViewHolder {
LinearLayout card_layout;
IconicsImageView imgUnExclude;
IconicsImageView imgFolder;
TextView album_name;
TextView album_path;
ViewHolder(View itemView) {
super(itemView);
card_layout = (LinearLayout) itemView.findViewById(org.horaapps.leafpic.R.id.linear_card_excluded);
imgUnExclude = (IconicsImageView) itemView.findViewById(org.horaapps.leafpic.R.id.UnExclude_icon);
imgFolder = (IconicsImageView) itemView.findViewById(org.horaapps.leafpic.R.id.folder_icon);
album_name = (TextView) itemView.findViewById(org.horaapps.leafpic.R.id.Excluded_Title_Item);
album_path = (TextView) itemView.findViewById(org.horaapps.leafpic.R.id.Excluded_Path_Item);
}
}
}
}