Search in sources :

Example 1 with Tab

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++;
        }
    }
}
Also used : Tab(com.amaze.filemanager.database.models.Tab) TabHandler(com.amaze.filemanager.database.TabHandler) Fragment(android.support.v4.app.Fragment)

Example 2 with Tab

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();
        }
    }
}
Also used : Tab(com.amaze.filemanager.database.models.Tab) TabFragment(com.amaze.filemanager.fragments.TabFragment) Fragment(android.support.v4.app.Fragment) FTPServerFragment(com.amaze.filemanager.fragments.FTPServerFragment) CompressedExplorerFragment(com.amaze.filemanager.fragments.CompressedExplorerFragment) AppsListFragment(com.amaze.filemanager.fragments.AppsListFragment) ProcessViewerFragment(com.amaze.filemanager.fragments.ProcessViewerFragment) TabFragment(com.amaze.filemanager.fragments.TabFragment) MainFragment(com.amaze.filemanager.fragments.MainFragment) SearchWorkerFragment(com.amaze.filemanager.fragments.SearchWorkerFragment) CloudSheetFragment(com.amaze.filemanager.fragments.CloudSheetFragment)

Example 3 with Tab

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;
}
Also used : Tab(com.amaze.filemanager.database.models.Tab) SQLiteDatabase(android.database.sqlite.SQLiteDatabase) Cursor(android.database.Cursor)

Example 4 with 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;
}
Also used : Tab(com.amaze.filemanager.database.models.Tab) SQLiteDatabase(android.database.sqlite.SQLiteDatabase) ArrayList(java.util.ArrayList) Cursor(android.database.Cursor)

Example 5 with Tab

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;
}
Also used : Tab(com.amaze.filemanager.database.models.Tab) ViewGroup(android.view.ViewGroup) TabHandler(com.amaze.filemanager.database.TabHandler) MainActivity(com.amaze.filemanager.activities.MainActivity)

Aggregations

Tab (com.amaze.filemanager.database.models.Tab)5 Cursor (android.database.Cursor)2 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)2 Fragment (android.support.v4.app.Fragment)2 TabHandler (com.amaze.filemanager.database.TabHandler)2 ViewGroup (android.view.ViewGroup)1 MainActivity (com.amaze.filemanager.activities.MainActivity)1 AppsListFragment (com.amaze.filemanager.fragments.AppsListFragment)1 CloudSheetFragment (com.amaze.filemanager.fragments.CloudSheetFragment)1 CompressedExplorerFragment (com.amaze.filemanager.fragments.CompressedExplorerFragment)1 FTPServerFragment (com.amaze.filemanager.fragments.FTPServerFragment)1 MainFragment (com.amaze.filemanager.fragments.MainFragment)1 ProcessViewerFragment (com.amaze.filemanager.fragments.ProcessViewerFragment)1 SearchWorkerFragment (com.amaze.filemanager.fragments.SearchWorkerFragment)1 TabFragment (com.amaze.filemanager.fragments.TabFragment)1 ArrayList (java.util.ArrayList)1