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

Commit 341b120c authored by Chiao Cheng's avatar Chiao Cheng Committed by Android Git Automerger
Browse files

am f80fec33: Merge "Prune selected call log filter options from overflow menu." into jb-mr1.1-dev

* commit 'f80fec33':
  Prune selected call log filter options from overflow menu.
parents 2dc17bee f80fec33
Loading
Loading
Loading
Loading
+40 −9
Original line number Original line Diff line number Diff line
@@ -77,8 +77,6 @@ public class CallLogFragment extends ListFragment


    /** Whether there is at least one voicemail source installed. */
    /** Whether there is at least one voicemail source installed. */
    private boolean mVoicemailSourcesAvailable = false;
    private boolean mVoicemailSourcesAvailable = false;
    /** Whether we are currently filtering over voicemail. */
    private boolean mShowingVoicemailOnly = false;


    private VoicemailStatusHelper mVoicemailStatusHelper;
    private VoicemailStatusHelper mVoicemailStatusHelper;
    private View mStatusMessageView;
    private View mStatusMessageView;
@@ -317,10 +315,6 @@ public class CallLogFragment extends ListFragment
    public void startCallsQuery() {
    public void startCallsQuery() {
        mAdapter.setLoading(true);
        mAdapter.setLoading(true);
        mCallLogQueryHandler.fetchCalls(mCallTypeFilter);
        mCallLogQueryHandler.fetchCalls(mCallTypeFilter);
        if (mShowingVoicemailOnly) {
            mShowingVoicemailOnly = false;
            getActivity().invalidateOptionsMenu();
        }
    }
    }


    private void startVoicemailStatusQuery() {
    private void startVoicemailStatusQuery() {
@@ -340,8 +334,47 @@ public class CallLogFragment extends ListFragment
        // menu items are ready if the first item is non-null.
        // menu items are ready if the first item is non-null.
        if (itemDeleteAll != null) {
        if (itemDeleteAll != null) {
            itemDeleteAll.setEnabled(mAdapter != null && !mAdapter.isEmpty());
            itemDeleteAll.setEnabled(mAdapter != null && !mAdapter.isEmpty());
            menu.findItem(R.id.show_voicemails_only).setVisible(mVoicemailSourcesAvailable);

            showAllFilterMenuOptions(menu);
            hideCurrentFilterMenuOption(menu);

            // Only hide if not available.  Let the above calls handle showing.
            if (!mVoicemailSourcesAvailable) {
                menu.findItem(R.id.show_voicemails_only).setVisible(false);
            }
        }
    }
    }

    private void hideCurrentFilterMenuOption(Menu menu) {
        MenuItem item = null;
        switch (mCallTypeFilter) {
            case CallLogQueryHandler.CALL_TYPE_ALL:
                item = menu.findItem(R.id.show_all_calls);
                break;
            case Calls.INCOMING_TYPE:
                item = menu.findItem(R.id.show_incoming_only);
                break;
            case Calls.OUTGOING_TYPE:
                item = menu.findItem(R.id.show_outgoing_only);
                break;
            case Calls.MISSED_TYPE:
                item = menu.findItem(R.id.show_missed_only);
                break;
            case Calls.VOICEMAIL_TYPE:
                menu.findItem(R.id.show_voicemails_only);
                break;
        }
        if (item != null) {
            item.setVisible(false);
        }
    }

    private void showAllFilterMenuOptions(Menu menu) {
        menu.findItem(R.id.show_all_calls).setVisible(true);
        menu.findItem(R.id.show_incoming_only).setVisible(true);
        menu.findItem(R.id.show_outgoing_only).setVisible(true);
        menu.findItem(R.id.show_missed_only).setVisible(true);
        menu.findItem(R.id.show_voicemails_only).setVisible(true);
    }
    }


    @Override
    @Override
@@ -375,7 +408,6 @@ public class CallLogFragment extends ListFragment
                registerPhoneCallReceiver();
                registerPhoneCallReceiver();
                mCallLogQueryHandler.fetchCalls(Calls.VOICEMAIL_TYPE);
                mCallLogQueryHandler.fetchCalls(Calls.VOICEMAIL_TYPE);
                updateFilterTypeAndHeader(Calls.VOICEMAIL_TYPE);
                updateFilterTypeAndHeader(Calls.VOICEMAIL_TYPE);
                mShowingVoicemailOnly = true;
                return true;
                return true;


            case R.id.show_all_calls:
            case R.id.show_all_calls:
@@ -383,7 +415,6 @@ public class CallLogFragment extends ListFragment
                unregisterPhoneCallReceiver();
                unregisterPhoneCallReceiver();
                mCallLogQueryHandler.fetchCalls(CallLogQueryHandler.CALL_TYPE_ALL);
                mCallLogQueryHandler.fetchCalls(CallLogQueryHandler.CALL_TYPE_ALL);
                updateFilterTypeAndHeader(CallLogQueryHandler.CALL_TYPE_ALL);
                updateFilterTypeAndHeader(CallLogQueryHandler.CALL_TYPE_ALL);
                mShowingVoicemailOnly = false;
                return true;
                return true;


            default:
            default: