use of com.amaze.filemanager.database.models.Tab in project AmazeFileManager by TeamAmaze.
the class TabFragment method updatepaths.
public void updatepaths(int pos) {
if (tabHandler == null)
tabHandler = new TabHandler(getActivity());
int i = 1;
// Getting old path from database before clearing
tabHandler.clear();
for (Fragment fragment : fragments) {
if (fragment instanceof MainFragment) {
MainFragment m = (MainFragment) fragment;
if (i - 1 == MainActivity.currentTab && i == pos) {
mainActivity.getAppbar().getBottomBar().updatePath(m.getCurrentPath(), m.results, MainActivityHelper.SEARCH_TEXT, m.openMode, m.folder_count, m.file_count, m);
mainActivity.getDrawer().selectCorrectDrawerItemForPath(m.getCurrentPath());
}
if (m.openMode == OpenMode.FILE) {
tabHandler.addTab(new Tab(i, m.getCurrentPath(), m.home));
} else {
tabHandler.addTab(new Tab(i, m.home, m.home));
}
i++;
}
}
}
use of com.amaze.filemanager.database.models.Tab in project AmazeFileManager by TeamAmaze.
the class MainActivity method onRequestPermissionsResult.
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == 77) {
if (grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
drawer.refreshDrawer();
TabFragment tabFragment = getTabFragment();
boolean b = getBoolean(PREFERENCE_NEED_TO_SET_HOME);
// reset home and current paths according to new storages
if (b) {
tabHandler.clear();
if (drawer.getStorageCount() > 1) {
tabHandler.addTab(new Tab(1, drawer.getSecondPath(), "/"));
} else {
tabHandler.addTab(new Tab(1, "/", "/"));
}
if (drawer.getFirstPath() != null) {
String pa = drawer.getFirstPath();
tabHandler.addTab(new Tab(2, pa, pa));
} else {
tabHandler.addTab(new Tab(2, drawer.getSecondPath(), "/"));
}
if (tabFragment != null) {
Fragment main = tabFragment.getFragmentAtIndex(0);
if (main != null)
((MainFragment) main).updateTabWithDb(tabHandler.findTab(1));
Fragment main1 = tabFragment.getFragmentAtIndex(1);
if (main1 != null)
((MainFragment) main1).updateTabWithDb(tabHandler.findTab(2));
}
getPrefs().edit().putBoolean(PREFERENCE_NEED_TO_SET_HOME, false).commit();
} else {
// just refresh list
if (tabFragment != null) {
Fragment main = tabFragment.getFragmentAtIndex(0);
if (main != null)
((MainFragment) main).updateList();
Fragment main1 = tabFragment.getFragmentAtIndex(1);
if (main1 != null)
((MainFragment) main1).updateList();
}
}
} else {
Toast.makeText(this, R.string.grantfailed, Toast.LENGTH_SHORT).show();
requestStoragePermission();
}
}
}
use of com.amaze.filemanager.database.models.Tab in project AmazeFileManager by TeamAmaze.
the class TabHandler method findTab.
public Tab findTab(int tabNo) {
String query = "Select * FROM " + TABLE_TAB + " WHERE " + COLUMN_TAB_NO + "= \"" + tabNo + "\"";
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery(query, null);
Tab tab;
if (cursor.moveToFirst()) {
tab = new Tab(cursor.getInt(0), cursor.getString(1), cursor.getString(2));
cursor.close();
} else {
tab = null;
}
return tab;
}
use of com.amaze.filemanager.database.models.Tab in project AmazeFileManager by TeamAmaze.
the class TabHandler method getAllTabs.
public List<Tab> getAllTabs() {
List<Tab> tabList = new ArrayList<>();
// Select all query
SQLiteDatabase sqLiteDatabase = getReadableDatabase();
Cursor cursor = sqLiteDatabase.query(TABLE_TAB, null, null, null, null, null, null);
boolean hasNext = cursor.moveToFirst();
// Looping through all rows and adding them to list
while (hasNext) {
Tab tab = new Tab(cursor.getInt(0), cursor.getString(1), cursor.getString(2));
// Adding them to list
tabList.add(tab);
hasNext = cursor.moveToNext();
}
cursor.close();
return tabList;
}
use of com.amaze.filemanager.database.models.Tab in project AmazeFileManager by TeamAmaze.
the class TabFragment method onCreateView.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.tabfragment, container, false);
tabHandler = new TabHandler(getContext());
fragmentManager = getActivity().getSupportFragmentManager();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
indicator = getActivity().findViewById(R.id.indicator);
} else {
circleDrawable1 = getActivity().findViewById(R.id.tab_indicator1);
circleDrawable2 = getActivity().findViewById(R.id.tab_indicator2);
}
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
savepaths = sharedPrefs.getBoolean("savepaths", true);
mViewPager = rootView.findViewById(R.id.pager);
if (getArguments() != null) {
path = getArguments().getString("path");
}
mainActivity = ((MainActivity) getActivity());
mainActivity.supportInvalidateOptionsMenu();
mViewPager.addOnPageChangeListener(this);
mSectionsPagerAdapter = new ScreenSlidePagerAdapter(getActivity().getSupportFragmentManager());
if (savedInstanceState == null) {
int l = sharedPrefs.getInt(PreferenceUtils.KEY_CURRENT_TAB, PreferenceUtils.DEFAULT_CURRENT_TAB);
MainActivity.currentTab = l;
List<Tab> tabs1 = tabHandler.getAllTabs();
int i = tabs1.size();
if (i == 0) {
// creating tabs in db for the first time, probably the first launch of app
if (mainActivity.getDrawer().getFirstPath() != null) {
addNewTab(1, mainActivity.getDrawer().getFirstPath());
} else {
if (mainActivity.getDrawer().getSecondPath() != null) {
addNewTab(1, mainActivity.getDrawer().getSecondPath());
} else {
sharedPrefs.edit().putBoolean(PreferencesConstants.PREFERENCE_ROOTMODE, true).apply();
addNewTab(1, "/");
}
}
if (mainActivity.getDrawer().getSecondPath() != null) {
addNewTab(2, mainActivity.getDrawer().getSecondPath());
} else {
addNewTab(2, mainActivity.getDrawer().getFirstPath());
}
} else {
if (path != null && path.length() != 0) {
if (l == 1) {
addTab(tabHandler.findTab(1), "");
}
addTab(tabHandler.findTab(l + 1), path);
if (l == 0) {
addTab(tabHandler.findTab(2), "");
}
} else {
addTab(tabHandler.findTab(1), "");
addTab(tabHandler.findTab(2), "");
}
}
mViewPager.setAdapter(mSectionsPagerAdapter);
try {
mViewPager.setCurrentItem(l, true);
if (circleDrawable1 != null && circleDrawable2 != null) {
updateIndicator(mViewPager.getCurrentItem());
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
fragments.clear();
try {
if (fragmentManager == null) {
fragmentManager = getActivity().getSupportFragmentManager();
}
fragments.add(0, fragmentManager.getFragment(savedInstanceState, "tab" + 0));
fragments.add(1, fragmentManager.getFragment(savedInstanceState, "tab" + 1));
} catch (Exception e) {
e.printStackTrace();
}
mSectionsPagerAdapter = new ScreenSlidePagerAdapter(getActivity().getSupportFragmentManager());
mViewPager.setAdapter(mSectionsPagerAdapter);
int pos1 = savedInstanceState.getInt(KEY_POSITION, 0);
MainActivity.currentTab = pos1;
mViewPager.setCurrentItem(pos1);
mSectionsPagerAdapter.notifyDataSetChanged();
}
if (indicator != null)
indicator.setViewPager(mViewPager);
// color of viewpager when current tab is 0
startColor = mainActivity.getColorPreference().getColor(ColorUsage.PRIMARY);
// color of viewpager when current tab is 1
endColor = mainActivity.getColorPreference().getColor(ColorUsage.PRIMARY_TWO);
// update the views as there is any change in {@link MainActivity#currentTab}
// probably due to config change
/*colorDrawable.setColor(Color.parseColor(MainActivity.currentTab==1 ?
ThemedActivity.skinTwo : ThemedActivity.skin));
mainActivity.updateViews(colorDrawable);*/
mainActivity.mainFragment = (MainFragment) getCurrentTabFragment();
return rootView;
}
Aggregations