Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0dbf3d6c authored by Richard MacGregor's avatar Richard MacGregor Committed by Stephen Bird
Browse files

Replace back button with menu (hamburger)

Show menu button instead of back button.
Open drawer on click.

Change-Id: I81735b5d2df1fc2dfcd35aa0a228c0385cb39003
parent c403178e
Loading
Loading
Loading
Loading
+26 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (c) 2015 The CyanogenMod Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">

    <path
        android:fillColor="#FFFFFF"
        android:pathData="M3,18h18v-2H3V18z M3,13h18v-2H3V13z M3,6v2h18V6H3z" />
</vector>
 No newline at end of file
+13 −5
Original line number Original line Diff line number Diff line
@@ -30,6 +30,7 @@ import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.Log;
import android.util.Log;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.MenuItem;
import com.cyanogen.ambient.storage.provider.StorageProviderInfo;
import com.cyanogen.ambient.storage.provider.StorageProviderInfo;
import com.cyanogenmod.filemanager.FileManagerApplication;
import com.cyanogenmod.filemanager.FileManagerApplication;
@@ -129,6 +130,7 @@ public class MainActivity extends ActionBarActivity
    private NavigationDrawerController mNavigationDrawerController;
    private NavigationDrawerController mNavigationDrawerController;


    private List<StorageProviderInfo> mProviderInfoList;
    private List<StorageProviderInfo> mProviderInfoList;
    private boolean mPopBackStack = false;


    /**
    /**
     * {@inheritDoc}
     * {@inheritDoc}
@@ -187,13 +189,16 @@ public class MainActivity extends ActionBarActivity


        switch (fragmentType) {
        switch (fragmentType) {
            case NAVIGATION:
            case NAVIGATION:
                mPopBackStack = false;
                currentFragment = new NavigationFragment();
                currentFragment = new NavigationFragment();
                break;
                break;
            case LOGIN:
            case LOGIN:
                mPopBackStack = true;
                currentFragment = LoginFragment.newInstance();
                currentFragment = LoginFragment.newInstance();
                break;
                break;
            case HOME:
            case HOME:
            default:
            default:
                mPopBackStack = false;
                noBackStack = true;
                noBackStack = true;
                currentFragment = HomeFragment.newInstance();
                currentFragment = HomeFragment.newInstance();
                break;
                break;
@@ -457,16 +462,19 @@ public class MainActivity extends ActionBarActivity


    @Override
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        switch (item.getItemId()) {
            case android.R.id.home:
            case android.R.id.home:
                if (mPopBackStack) {
                    FragmentManager fm = getSupportFragmentManager();
                    FragmentManager fm = getSupportFragmentManager();
                    if (fm.getBackStackEntryCount() > 0) {
                    if (fm.getBackStackEntryCount() > 0) {
                        fm.popBackStack();
                        fm.popBackStack();
                    }
                    }
                } else {
                    mDrawerLayout.openDrawer(Gravity.START);
                }
                return true;
                return true;
            default:
            default:
                return super.onOptionsItemSelected(item);
                return false;
        }
        }
    }
    }
}
}
+5 −2
Original line number Original line Diff line number Diff line
@@ -133,8 +133,11 @@ public class HomeFragment extends Fragment {


        mToolBar = (Toolbar) mView.findViewById(
        mToolBar = (Toolbar) mView.findViewById(
                R.id.material_toolbar);
                R.id.material_toolbar);
        ((ActionBarActivity) getActivity()).setSupportActionBar(mToolBar);
        ActionBarActivity actionBarActivity = (ActionBarActivity) getActivity();
        ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
        actionBarActivity.setSupportActionBar(mToolBar);
        actionBarActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        actionBarActivity.getSupportActionBar().setHomeButtonEnabled(true);
        actionBarActivity.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);


        initEasyModePlus();
        initEasyModePlus();
    }
    }
+1 −8
Original line number Original line Diff line number Diff line
@@ -36,8 +36,6 @@ import com.cyanogen.ambient.storage.provider.StorageProviderInfo.ProviderInfoLis
import com.cyanogenmod.filemanager.R;
import com.cyanogenmod.filemanager.R;
import com.cyanogenmod.filemanager.activities.MainActivity;
import com.cyanogenmod.filemanager.activities.MainActivity;
import com.cyanogenmod.filemanager.adapters.ProviderAdapter;
import com.cyanogenmod.filemanager.adapters.ProviderAdapter;
import com.cyanogenmod.filemanager.console.storageapi.StorageApiConsole;
import com.cyanogenmod.filemanager.controllers.NavigationDrawerController;


import java.util.List;
import java.util.List;


@@ -66,6 +64,7 @@ public class LoginFragment extends Fragment implements
    @Override
    @Override
    public void onCreate(Bundle savedInstanceState) {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
    }
    }


    @Override
    @Override
@@ -93,8 +92,6 @@ public class LoginFragment extends Fragment implements
        ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
    }




    @Override
    @Override
    public void onSaveInstanceState(Bundle savedInstanceState)
    public void onSaveInstanceState(Bundle savedInstanceState)
    {
    {
@@ -107,7 +104,6 @@ public class LoginFragment extends Fragment implements
        updateAccountList();
        updateAccountList();
    }
    }



    @Override
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        StorageProviderInfo providerItem = (StorageProviderInfo)mAdapter.getItem(position);
        StorageProviderInfo providerItem = (StorageProviderInfo)mAdapter.getItem(position);
@@ -128,7 +124,6 @@ public class LoginFragment extends Fragment implements
                storageApi.fetchProviders(this);
                storageApi.fetchProviders(this);
    }
    }



    @Override
    @Override
    public void onResult(StorageProviderInfo.ProviderInfoListResult providerInfoListResult) {
    public void onResult(StorageProviderInfo.ProviderInfoListResult providerInfoListResult) {
        List<StorageProviderInfo> providerInfoList =
        List<StorageProviderInfo> providerInfoList =
@@ -144,12 +139,10 @@ public class LoginFragment extends Fragment implements
        mAdapter.notifyDataSetChanged();
        mAdapter.notifyDataSetChanged();
    }
    }



    @Override
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == getActivity().RESULT_OK) {
        if (resultCode == getActivity().RESULT_OK) {
            updateAccountList();
            updateAccountList();
        }
        }
    }
    }

}
}
 No newline at end of file
+5 −3
Original line number Original line Diff line number Diff line
@@ -536,9 +536,11 @@ public class NavigationFragment extends Fragment
        super.onStart();
        super.onStart();


        mToolBar = (Toolbar) mView.findViewById(R.id.material_toolbar);
        mToolBar = (Toolbar) mView.findViewById(R.id.material_toolbar);
        ((ActionBarActivity) getActivity()).setSupportActionBar(mToolBar);
        ActionBarActivity actionBarActivity = (ActionBarActivity) getActivity();
        ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        actionBarActivity.setSupportActionBar(mToolBar);
        ((ActionBarActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
        actionBarActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        actionBarActivity.getSupportActionBar().setHomeButtonEnabled(true);
        actionBarActivity.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);


        //Initialize action bars
        //Initialize action bars
        initTitleActionBar();
        initTitleActionBar();