Search in sources :

Example 1 with SettingsFragment

use of app.insti.fragment.SettingsFragment in project IITB-App by wncc.

the class Utils method changeTheme.

public static void changeTheme(SettingsFragment fragment, boolean darkTheme) {
    isDarkTheme = darkTheme;
    FragmentActivity fragmentActivity = fragment.getActivity();
    fragmentActivity.setTheme(darkTheme ? R.style.AppThemeDark : R.style.AppTheme);
    // Set background color of activity
    fragmentActivity.findViewById(R.id.drawer_layout).setBackgroundColor(getAttrColor(fragmentActivity, R.attr.themeColor));
    // Put in a new settings fragment
    Fragment newFragment = new SettingsFragment();
    newFragment.setArguments(fragment.getArguments());
    FragmentManager fm = fragmentActivity.getSupportFragmentManager();
    fm.popBackStack();
    FragmentTransaction ft = fm.beginTransaction();
    ft.addToBackStack(getTag(fragment));
    ft.replace(R.id.framelayout_for_fragment, newFragment, getTag(fragment)).commit();
}
Also used : SettingsFragment(app.insti.fragment.SettingsFragment) FragmentManager(androidx.fragment.app.FragmentManager) FragmentActivity(androidx.fragment.app.FragmentActivity) FragmentTransaction(androidx.fragment.app.FragmentTransaction) TransitionTargetFragment(app.insti.fragment.TransitionTargetFragment) Fragment(androidx.fragment.app.Fragment) EventFragment(app.insti.fragment.EventFragment) SettingsFragment(app.insti.fragment.SettingsFragment) BodyFragment(app.insti.fragment.BodyFragment) UserFragment(app.insti.fragment.UserFragment)

Example 2 with SettingsFragment

use of app.insti.fragment.SettingsFragment in project IITB-App by wncc.

the class MainActivity method onNavigationItemSelected.

@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();
    switch(id) {
        case R.id.nav_feed:
            feedFragment = new FeedFragment();
            updateFragment(feedFragment);
            break;
        case R.id.nav_explore:
            updateFragment(ExploreFragment.newInstance());
            break;
        case R.id.nav_news:
            updateFragment(new NewsFragment());
            break;
        case R.id.nav_placement_blog:
            openPlacementBlog();
            break;
        case R.id.nav_training_blog:
            openTrainingBlog();
            break;
        case R.id.nav_mess_menu:
            MessMenuFragment messMenuFragment = new MessMenuFragment();
            updateFragment(messMenuFragment);
            break;
        case R.id.nav_calendar:
            CalendarFragment calendarFragment = new CalendarFragment();
            updateFragment(calendarFragment);
            break;
        case R.id.nav_qlinks:
            QuickLinksFragment quickLinksFragment = new QuickLinksFragment();
            updateFragment(quickLinksFragment);
            break;
        case R.id.nav_map:
            MapFragment mapFragment = new MapFragment();
            updateFragment(mapFragment);
            break;
        case R.id.nav_achievements:
            WebViewFragment webViewFragment = new WebViewFragment();
            Bundle bundle = new Bundle();
            bundle.putString(Constants.WV_TYPE, Constants.WV_TYPE_ACHIEVEMENTS);
            webViewFragment.setArguments(bundle);
            updateFragment(webViewFragment);
            break;
        case R.id.nav_complaint:
            if (session.isLoggedIn()) {
                ComplaintsFragment complaintsFragment = new ComplaintsFragment();
                updateFragment(complaintsFragment);
            } else {
                Toast.makeText(this, Constants.LOGIN_MESSAGE, Toast.LENGTH_LONG).show();
            }
            break;
        case R.id.nav_settings:
            SettingsFragment settingsFragment = new SettingsFragment();
            updateFragment(settingsFragment);
            break;
        default:
            break;
    }
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}
Also used : SettingsFragment(app.insti.fragment.SettingsFragment) ComplaintsFragment(app.insti.fragment.ComplaintsFragment) WebViewFragment(app.insti.fragment.WebViewFragment) CalendarFragment(app.insti.fragment.CalendarFragment) Bundle(android.os.Bundle) MapFragment(app.insti.fragment.MapFragment) NewsFragment(app.insti.fragment.NewsFragment) DrawerLayout(androidx.drawerlayout.widget.DrawerLayout) MessMenuFragment(app.insti.fragment.MessMenuFragment) QuickLinksFragment(app.insti.fragment.QuickLinksFragment) SuppressLint(android.annotation.SuppressLint) FeedFragment(app.insti.fragment.FeedFragment)

Example 3 with SettingsFragment

use of app.insti.fragment.SettingsFragment in project IITB-App by wncc.

the class MainActivity method updateFragment.

/**
 * Change the active fragment to the supplied one
 */
public void updateFragment(Fragment fragment) {
    if (session.isLoggedIn() && currentUser == null) {
        currentUser = session.getCurrentUser();
    }
    Bundle bundle = fragment.getArguments();
    if (bundle == null) {
        bundle = new Bundle();
    }
    bundle.putString(Constants.SESSION_ID, session.pref.getString(Constants.SESSION_ID, ""));
    if (fragment instanceof MessMenuFragment)
        bundle.putString(Constants.USER_HOSTEL, session.isLoggedIn() && currentUser.getHostel() != null ? currentUser.getHostel() : "1");
    if (fragment instanceof SettingsFragment && session.isLoggedIn())
        bundle.putString(Constants.USER_ID, currentUser.getUserID());
    if (fragment instanceof ComplaintsFragment && session.isLoggedIn()) {
        bundle.putString(Constants.USER_ID, currentUser.getUserID());
        bundle.putString(Constants.CURRENT_USER_PROFILE_PICTURE, currentUser.getUserProfilePictureUrl());
    }
    fragment.setArguments(bundle);
    FragmentManager manager = getSupportFragmentManager();
    if (fragment instanceof FeedFragment)
        manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    FragmentTransaction transaction = manager.beginTransaction();
    /* Animate only for UserFragment */
    if (fragment instanceof UserFragment) {
        transaction.setCustomAnimations(R.anim.slide_in_up, R.anim.fade_out, R.anim.fade_in, R.anim.slide_out_down);
    }
    transaction.replace(R.id.framelayout_for_fragment, fragment, Utils.getTag(fragment));
    transaction.addToBackStack(Utils.getTag(fragment)).commit();
}
Also used : SettingsFragment(app.insti.fragment.SettingsFragment) FragmentManager(androidx.fragment.app.FragmentManager) ComplaintsFragment(app.insti.fragment.ComplaintsFragment) FragmentTransaction(androidx.fragment.app.FragmentTransaction) UserFragment(app.insti.fragment.UserFragment) Bundle(android.os.Bundle) MessMenuFragment(app.insti.fragment.MessMenuFragment) FeedFragment(app.insti.fragment.FeedFragment)

Aggregations

SettingsFragment (app.insti.fragment.SettingsFragment)3 Bundle (android.os.Bundle)2 FragmentManager (androidx.fragment.app.FragmentManager)2 FragmentTransaction (androidx.fragment.app.FragmentTransaction)2 ComplaintsFragment (app.insti.fragment.ComplaintsFragment)2 FeedFragment (app.insti.fragment.FeedFragment)2 MessMenuFragment (app.insti.fragment.MessMenuFragment)2 UserFragment (app.insti.fragment.UserFragment)2 SuppressLint (android.annotation.SuppressLint)1 DrawerLayout (androidx.drawerlayout.widget.DrawerLayout)1 Fragment (androidx.fragment.app.Fragment)1 FragmentActivity (androidx.fragment.app.FragmentActivity)1 BodyFragment (app.insti.fragment.BodyFragment)1 CalendarFragment (app.insti.fragment.CalendarFragment)1 EventFragment (app.insti.fragment.EventFragment)1 MapFragment (app.insti.fragment.MapFragment)1 NewsFragment (app.insti.fragment.NewsFragment)1 QuickLinksFragment (app.insti.fragment.QuickLinksFragment)1 TransitionTargetFragment (app.insti.fragment.TransitionTargetFragment)1 WebViewFragment (app.insti.fragment.WebViewFragment)1