use of im.actor.sdk.controllers.pickers.file.items.HeaderItem in project actor-platform by actorapp.
the class ExplorerFragment method onCreateView.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d("Explorer Animation", "Created");
{
rootView = inflater.inflate(R.layout.picker_fragment_file_picker, container, false);
list = (ListView) rootView.findViewById(R.id.list);
Bundle bundle = getArguments();
statusView = (TextView) rootView.findViewById(R.id.status);
emptyView = rootView.findViewById(R.id.empty);
items = new ArrayList<ExplorerItem>();
if (bundle != null) {
path = bundle.getString("path");
Log.d(LOG_TAG, "Path: " + path);
File currentPathFile = new File(path);
File[] fileList = currentPathFile.listFiles();
title = currentPathFile.getPath();
if (title.contains(Environment.getExternalStorageDirectory().getPath())) {
title = title.replace(Environment.getExternalStorageDirectory().getPath(), "");
}
if (title.length() > 0 && title.toCharArray()[0] == '/') {
title = title.substring(1);
}
if (path.equals(Environment.getExternalStorageDirectory().getPath())) {
if (Environment.isExternalStorageEmulated()) {
title = getString(R.string.picker_file_memory_phone);
} else
title = getString((R.string.picker_file_memory_external));
} else if (path.equals("/"))
title = getString(R.string.picker_file_memory_phone);
if (fileList == null) {
statusView.setVisibility(View.VISIBLE);
File external = Environment.getExternalStorageDirectory();
if (path.equals(external.getPath()))
statusView.setText(R.string.picker_file_memory_external_error);
else
statusView.setText(R.string.picker_file_denied);
return rootView;
} else {
if (fileList.length == 0) {
emptyView.setVisibility(View.VISIBLE);
AnimationSet slideInAnimation = new AnimationSet(true);
slideInAnimation.setInterpolator(new MaterialInterpolator());
slideInAnimation.setDuration(280);
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
slideInAnimation.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, 150, 0);
slideInAnimation.addAnimation(translateAnimation);
emptyView.startAnimation(slideInAnimation);
statusView.setVisibility(View.VISIBLE);
AnimationSet slideInAnimation1 = new AnimationSet(true);
slideInAnimation1.setInterpolator(new MaterialInterpolator());
slideInAnimation1.setDuration(280);
//cause of offset
slideInAnimation1.setStartOffset(150);
AlphaAnimation alphaAnimation1 = new AlphaAnimation(0, 1);
slideInAnimation1.addAnimation(alphaAnimation1);
TranslateAnimation translateAnimation1 = new TranslateAnimation(0, 0, 150, 0);
slideInAnimation1.addAnimation(translateAnimation1);
statusView.startAnimation(slideInAnimation1);
statusView.setText(R.string.picker_file_directory_empty);
//return rootView;
}
}
Log.d(LOG_TAG, "Size: " + fileList.length);
for (File file : fileList) {
putItem(file);
}
Collections.sort(items, new FileNameOrderComparator());
insertBack();
adapter = new ExplorerAdapter(getActivity(), items);
} else {
welcome = true;
// items.add(new StorageItem(getActivity()));
adapter = new WelcomeExplorerAdapter(getActivity(), items);
items.add(new HeaderItem(getString(R.string.picker_file_header_main)));
String externalStorageState = Environment.getExternalStorageState();
Log.w(LOG_TAG, externalStorageState);
if (externalStorageState.equals(Environment.MEDIA_REMOVED) || externalStorageState.equals(Environment.MEDIA_BAD_REMOVAL) || externalStorageState.equals(Environment.MEDIA_UNKNOWN) || externalStorageState.equals(Environment.MEDIA_UNMOUNTED) || externalStorageState.equals(Environment.MEDIA_UNMOUNTABLE) || externalStorageState.equals(Environment.MEDIA_SHARED) || externalStorageState.equals(Environment.MEDIA_NOFS)) {
items.add(new StorageItem(getString(R.string.picker_file_memory_phone)));
} else {
/*
File cameraFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
if(cameraFile.exists()) {
items.add(new FolderItem(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM),R.drawable.picker_folder_camera,getString(R.string.picker_files_camera)));
}*/
putItem(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM));
putItem(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));
putItem((Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)));
putItem(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC));
putItem((Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)));
if (Environment.isExternalStorageEmulated()) {
items.add(new ExternalStorageItem(getString(R.string.picker_file_memory_phone), R.drawable.picker_memory));
} else
items.add(new ExternalStorageItem(getString(R.string.picker_file_memory_external), R.drawable.picker_sdcard));
if (Build.VERSION.SDK_INT >= 19) {
// putItem(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS));
// even on sdk>19 documents folder does not work.
}
}
path = "";
title = getString(R.string.picker_file_activity_title);
ArrayList<ExplorerItem> historyItems = loadHistory();
if (!historyItems.isEmpty()) {
items.addAll(historyItems);
}
}
list.setAdapter(adapter);
list.setOnItemClickListener((BasePickerActivity) getActivity());
}
pickerActivity.updateCounter();
return rootView;
}
use of im.actor.sdk.controllers.pickers.file.items.HeaderItem in project actor-platform by actorapp.
the class ExplorerFragment method onCreateAnimator.
@Override
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
Log.d("Explorer animation", "CreateAnimator: " + transit + " " + enter + " " + nextAnim);
int animationLength = 0;
if (nextAnim == R.animator.picker_fragment_explorer_welcome_enter) {
list.setAlpha(0);
list.post(new Runnable() {
@Override
public void run() {
list.setAlpha(1);
int offsetIncreaseOffset = 0;
for (int i = 0; i < list.getChildCount(); i++) {
View searchItemView = list.getChildAt(i);
AnimationSet slideInAnimation = new AnimationSet(true);
slideInAnimation.setInterpolator(new MaterialInterpolator());
slideInAnimation.setDuration(180);
if (items.get(i) instanceof HeaderItem) {
offsetIncreaseOffset += 150;
slideInAnimation.setStartOffset(i * 50 + offsetIncreaseOffset);
offsetIncreaseOffset += 200;
} else
slideInAnimation.setStartOffset(i * 50 + offsetIncreaseOffset);
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
slideInAnimation.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, 150, 0);
slideInAnimation.addAnimation(translateAnimation);
searchItemView.startAnimation(slideInAnimation);
}
}
});
animationLength = list.getChildCount() * 100 + 50;
Log.d("Explorer animation", "CreateAnimator: enter");
} else if (nextAnim == R.animator.picker_fragment_explorer_enter) {
list.setAlpha(0);
list.post(new Runnable() {
@Override
public void run() {
list.setAlpha(1);
int offsetIncreaseOffset = 0;
for (int i = 0; i < list.getChildCount(); i++) {
View searchItemView = list.getChildAt(i);
AnimationSet slideInAnimation = new AnimationSet(true);
slideInAnimation.setInterpolator(new MaterialInterpolator());
slideInAnimation.setDuration(100);
slideInAnimation.setStartOffset(i * 50 + offsetIncreaseOffset);
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
slideInAnimation.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation = new TranslateAnimation(100, 0, 0, 0);
slideInAnimation.addAnimation(translateAnimation);
searchItemView.startAnimation(slideInAnimation);
}
}
});
animationLength = list.getChildCount() * 100 + 50;
Log.d("Explorer animation", "CreateAnimator: enter");
} else if (nextAnim == R.animator.picker_fragment_explorer_welcome_exit || nextAnim == R.animator.picker_fragment_explorer_exit) {
for (int i = 0; i < list.getChildCount(); i++) {
View searchItemView = list.getChildAt(i);
AnimationSet slideInAnimation = new AnimationSet(true);
slideInAnimation.setInterpolator(new MaterialInterpolator());
slideInAnimation.setDuration(100);
slideInAnimation.setStartOffset(i * 50);
slideInAnimation.setFillAfter(true);
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
alphaAnimation.setFillAfter(true);
slideInAnimation.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation = new TranslateAnimation(0, -100, 0, 0);
slideInAnimation.addAnimation(translateAnimation);
searchItemView.startAnimation(slideInAnimation);
}
// list.getChildCount() * 100 + 50;
animationLength = 0;
Log.d("Explorer animation", "CreateAnimator: exit");
} else if (nextAnim == R.animator.picker_fragment_explorer_return) {
list.setAlpha(0);
list.post(new Runnable() {
@Override
public void run() {
list.setAlpha(1);
for (int i = 0; i < list.getChildCount(); i++) {
View searchItemView = list.getChildAt(i);
AnimationSet slideInAnimation = new AnimationSet(true);
slideInAnimation.setInterpolator(new MaterialInterpolator());
slideInAnimation.setDuration(100);
slideInAnimation.setStartOffset(i * 50);
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
slideInAnimation.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation = new TranslateAnimation(-100, 0, 0, 0);
slideInAnimation.addAnimation(translateAnimation);
searchItemView.startAnimation(slideInAnimation);
}
}
});
animationLength = list.getChildCount() * 100 + 50;
Log.d("Explorer animation", "CreateAnimator: return");
} else if (nextAnim == R.animator.picker_fragment_explorer_out) {
for (int i = 0; i < list.getChildCount(); i++) {
View searchItemView = list.getChildAt(i);
AnimationSet slideInAnimation = new AnimationSet(true);
slideInAnimation.setInterpolator(new MaterialInterpolator());
slideInAnimation.setDuration(100);
slideInAnimation.setStartOffset(i * 50);
slideInAnimation.setFillAfter(true);
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
alphaAnimation.setFillAfter(true);
slideInAnimation.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 100, 0, 0);
slideInAnimation.addAnimation(translateAnimation);
searchItemView.startAnimation(slideInAnimation);
}
if (items.size() == 1) {
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
alphaAnimation.setInterpolator(new MaterialInterpolator());
alphaAnimation.setDuration(100);
alphaAnimation.setFillAfter(true);
emptyView.startAnimation(alphaAnimation);
statusView.startAnimation(alphaAnimation);
animationLength = 250;
}
//else
// list.getChildCount() * 100 + 50;
animationLength = 0;
Log.d("Explorer animation", "CreateAnimator: out");
}
AnimatorSet animator = (AnimatorSet) AnimatorInflater.loadAnimator(pickerActivity, R.animator.picker_fragment_explorer_enter);
animator.setDuration(animationLength);
return animator;
}
use of im.actor.sdk.controllers.pickers.file.items.HeaderItem in project actor-platform by actorapp.
the class ExplorerFragment method loadHistory.
private ArrayList<ExplorerItem> loadHistory() {
ArrayList<ExplorerItem> history = new ArrayList<ExplorerItem>();
ArrayList<String> pathesFromDB = HistoryDatabase.getHistory(pickerActivity);
if (!pathesFromDB.isEmpty()) {
history.add(new HeaderItem(getString(R.string.picker_file_header_recent)));
for (String pathFromDB : pathesFromDB) {
File historyFile = new File(pathFromDB);
if (historyFile.exists())
history.add(getFileItem(historyFile));
}
}
return history;
}
use of im.actor.sdk.controllers.pickers.file.items.HeaderItem in project actor-platform by actorapp.
the class WelcomeExplorerAdapter method getView.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View itemView;
ExplorerItem item = getItem(position);
if (item instanceof HeaderItem) {
itemView = View.inflate(context, R.layout.picker_item_header, null);
itemView.setTag("header");
item.bindData(itemView);
return itemView;
} else {
if (convertView != null && !convertView.getTag().equals("header"))
return super.getView(position, convertView, parent);
else
return super.getView(position, null, parent);
}
}
Aggregations