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

Commit a4377191 authored by yueg's avatar yueg Committed by Copybara-Service
Browse files

Add logging to NUI.

Including:
- switching tabs
- touch search list
- press back button
- click search bar and voice button
- click FAB
Test: MainActivityOldPeerTest, MainSearchControllerTest
PiperOrigin-RevId: 185875596
Change-Id: Ie7824ce2f7a2570327abdb35cef1538cad786e73
parent 410451fc
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ message DialerImpression {
  // Event enums to be used for Impression Logging in Dialer.
  // It's perfectly acceptable for this enum to be large
  // Values should be from 1000 to 100000.
  // Next Tag: 1327
  // Next Tag: 1341
  enum Type {
    UNKNOWN_AOSP_EVENT_TYPE = 1000;

@@ -657,5 +657,23 @@ message DialerImpression {
    DUO_CALL_LOG_SET_UP_INSTALL_SHOWN = 1324;
    DUO_CALL_LOG_SET_UP_ACTIVATE_SHOWN = 1325;
    DUO_CALL_LOG_INVITE_SHOWN = 1326;

    // NUI bottom navigation bar
    NUI_SWITCH_TAB_TO_FAVORITE = 1327;
    NUI_SWITCH_TAB_TO_CALL_LOG = 1328;
    NUI_SWITCH_TAB_TO_CONTACTS = 1329;
    NUI_SWITCH_TAB_TO_VOICEMAIL = 1330;
    // NUI search
    NUI_TOUCH_DIALPAD_SEARCH_LIST_TO_CLOSE_SEARCH_AND_DIALPAD = 1331;
    NUI_TOUCH_DIALPAD_SEARCH_LIST_TO_HIDE_DIALPAD = 1332;
    NUI_TOUCH_SEARCH_LIST_TO_CLOSE_SEARCH = 1333;
    NUI_TOUCH_SEARCH_LIST_TO_HIDE_KEYBOARD = 1334;
    NUI_PRESS_BACK_BUTTON_TO_CLOSE_SEARCH = 1335;
    NUI_PRESS_BACK_BUTTON_TO_CLOSE_SEARCH_AND_DIALPAD = 1336;
    NUI_PRESS_BACK_BUTTON_TO_HIDE_DIALPAD = 1337;
    NUI_CLICK_SEARCH_BAR = 1338;
    NUI_CLICK_SEARCH_BAR_VOICE_BUTTON = 1339;
    // NUI FAB
    NUI_CLICK_FAB_TO_OPEN_DIALPAD = 1340;
  }
}
+19 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.dialer.constants.ActivityRequestCodes;
import com.android.dialer.dialpadview.DialpadFragment;
import com.android.dialer.dialpadview.DialpadFragment.DialpadListener;
import com.android.dialer.dialpadview.DialpadFragment.OnDialpadQueryChangedListener;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
import com.android.dialer.main.impl.bottomnav.BottomNavBar;
@@ -204,14 +205,23 @@ public class MainSearchController implements SearchBarListener {
  public void onSearchListTouch() {
    if (isDialpadVisible()) {
      if (TextUtils.isEmpty(getDialpadFragment().getQuery())) {
        Logger.get(mainActivity)
            .logImpression(
                DialerImpression.Type.NUI_TOUCH_DIALPAD_SEARCH_LIST_TO_CLOSE_SEARCH_AND_DIALPAD);
        closeSearch(true);
      } else {
        Logger.get(mainActivity)
            .logImpression(DialerImpression.Type.NUI_TOUCH_DIALPAD_SEARCH_LIST_TO_HIDE_DIALPAD);
        hideDialpad(/* animate=*/ true, /* bottomNavVisible=*/ false);
      }
    } else if (isSearchVisible()) {
      if (TextUtils.isEmpty(toolbar.getQuery())) {
        Logger.get(mainActivity)
            .logImpression(DialerImpression.Type.NUI_TOUCH_SEARCH_LIST_TO_CLOSE_SEARCH);
        closeSearch(true);
      } else {
        Logger.get(mainActivity)
            .logImpression(DialerImpression.Type.NUI_TOUCH_SEARCH_LIST_TO_HIDE_KEYBOARD);
        toolbar.hideKeyboard();
      }
    }
@@ -225,10 +235,17 @@ public class MainSearchController implements SearchBarListener {
  public boolean onBackPressed() {
    if (isDialpadVisible() && !TextUtils.isEmpty(getDialpadFragment().getQuery())) {
      LogUtil.i("MainSearchController#onBackPressed", "Dialpad visible with query");
      Logger.get(mainActivity)
          .logImpression(DialerImpression.Type.NUI_PRESS_BACK_BUTTON_TO_HIDE_DIALPAD);
      hideDialpad(/* animate=*/ true, /* bottomNavVisible=*/ false);
      return true;
    } else if (isSearchVisible()) {
      LogUtil.i("MainSearchController#onBackPressed", "Search is visible");
      Logger.get(mainActivity)
          .logImpression(
              isDialpadVisible()
                  ? DialerImpression.Type.NUI_PRESS_BACK_BUTTON_TO_CLOSE_SEARCH_AND_DIALPAD
                  : DialerImpression.Type.NUI_PRESS_BACK_BUTTON_TO_CLOSE_SEARCH);
      closeSearch(true);
      return true;
    } else {
@@ -297,6 +314,7 @@ public class MainSearchController implements SearchBarListener {
   */
  @Override
  public void onSearchBarClicked() {
    Logger.get(mainActivity).logImpression(DialerImpression.Type.NUI_CLICK_SEARCH_BAR);
    openSearch(Optional.absent());
  }

@@ -350,6 +368,7 @@ public class MainSearchController implements SearchBarListener {

  @Override
  public void onVoiceButtonClicked(VoiceSearchResultCallback voiceSearchResultCallback) {
    Logger.get(mainActivity).logImpression(DialerImpression.Type.NUI_CLICK_SEARCH_BAR_VOICE_BUTTON);
    try {
      Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
      mainActivity.startActivityForResult(voiceIntent, ActivityRequestCodes.DIALTACTS_VOICE_SEARCH);
+39 −4
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ import com.android.dialer.dialpadview.DialpadFragment.DialpadListener;
import com.android.dialer.dialpadview.DialpadFragment.LastOutgoingCallCallback;
import com.android.dialer.dialpadview.DialpadFragment.OnDialpadQueryChangedListener;
import com.android.dialer.interactions.PhoneNumberInteraction;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.main.MainActivityPeer;
import com.android.dialer.main.impl.bottomnav.BottomNavBar;
import com.android.dialer.main.impl.bottomnav.BottomNavBar.OnBottomNavTabSelectedListener;
@@ -154,6 +156,7 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen

  @Override
  public void onActivityCreate(Bundle savedInstanceState) {
    LogUtil.enterBlock("OldMainActivityPeer.onActivityCreate");
    mainActivity.setContentView(R.layout.main_activity);
    initUiListeners();
    initLayout(savedInstanceState);
@@ -173,14 +176,19 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
    snackbarContainer = mainActivity.findViewById(R.id.coordinator_layout);

    FloatingActionButton fab = mainActivity.findViewById(R.id.fab);
    fab.setOnClickListener(v -> searchController.showDialpad(true));
    fab.setOnClickListener(
        v -> {
          Logger.get(mainActivity)
              .logImpression(DialerImpression.Type.NUI_CLICK_FAB_TO_OPEN_DIALPAD);
          searchController.showDialpad(true);
        });

    MainToolbar toolbar = mainActivity.findViewById(R.id.toolbar);
    mainActivity.setSupportActionBar(mainActivity.findViewById(R.id.toolbar));

    bottomNav = mainActivity.findViewById(R.id.bottom_nav_bar);
    MainBottomNavBarBottomNavTabListener bottomNavTabListener =
        new MainBottomNavBarBottomNavTabListener(mainActivity.getFragmentManager());
        new MainBottomNavBarBottomNavTabListener(mainActivity, mainActivity.getFragmentManager());
    bottomNav.addOnTabSelectedListener(bottomNavTabListener);

    callLogFragmentListener =
@@ -222,6 +230,7 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen

  @Override
  public void onNewIntent(Intent intent) {
    LogUtil.enterBlock("OldMainActivityPeer.onNewIntent");
    showTabOnIntent(intent);
  }

@@ -312,10 +321,15 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen

  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    LogUtil.i(
        "OldMainActivityPeer.onActivityResult",
        "requestCode:%d, resultCode:%d",
        requestCode,
        resultCode);
    if (requestCode == ActivityRequestCodes.DIALTACTS_VOICE_SEARCH) {
      searchController.onVoiceResults(resultCode, data);
    } else {
      LogUtil.e("MainActivity.onActivityResult", "Unknown request code: " + requestCode);
      LogUtil.e("OldMainActivityPeer.onActivityResult", "Unknown request code: " + requestCode);
    }
  }

@@ -353,6 +367,8 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
      return (T) onPhoneNumberPickerActionListener;
    } else if (callbackInterface.isInstance(oldSpeedDialFragmentHost)) {
      return (T) oldSpeedDialFragmentHost;
    } else if (callbackInterface.isInstance(searchController)) {
      return (T) searchController;
    } else {
      return null;
    }
@@ -802,13 +818,20 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
    private static final String VOICEMAIL_TAG = "voicemail";

    private final FragmentManager fragmentManager;
    private final Context context;
    @TabIndex private int selectedTab = -1;

    private MainBottomNavBarBottomNavTabListener(FragmentManager fragmentManager) {
    private MainBottomNavBarBottomNavTabListener(Context context, FragmentManager fragmentManager) {
      this.fragmentManager = fragmentManager;
      this.context = context;
    }

    @Override
    public void onSpeedDialSelected() {
      if (selectedTab != TabIndex.SPEED_DIAL) {
        Logger.get(context).logImpression(DialerImpression.Type.NUI_SWITCH_TAB_TO_FAVORITE);
        selectedTab = TabIndex.SPEED_DIAL;
      }
      hideAllFragments();
      Fragment fragment = fragmentManager.findFragmentByTag(SPEED_DIAL_TAG);
      if (fragment == null) {
@@ -823,6 +846,10 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen

    @Override
    public void onCallLogSelected() {
      if (selectedTab != TabIndex.CALL_LOG) {
        Logger.get(context).logImpression(DialerImpression.Type.NUI_SWITCH_TAB_TO_CALL_LOG);
        selectedTab = TabIndex.CALL_LOG;
      }
      hideAllFragments();
      CallLogFragment fragment = (CallLogFragment) fragmentManager.findFragmentByTag(CALL_LOG_TAG);
      if (fragment == null) {
@@ -837,6 +864,10 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen

    @Override
    public void onContactsSelected() {
      if (selectedTab != TabIndex.CONTACTS) {
        Logger.get(context).logImpression(DialerImpression.Type.NUI_SWITCH_TAB_TO_CONTACTS);
        selectedTab = TabIndex.CONTACTS;
      }
      hideAllFragments();
      ContactsFragment fragment =
          (ContactsFragment) fragmentManager.findFragmentByTag(CONTACTS_TAG);
@@ -855,6 +886,10 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen

    @Override
    public void onVoicemailSelected() {
      if (selectedTab != TabIndex.VOICEMAIL) {
        Logger.get(context).logImpression(DialerImpression.Type.NUI_SWITCH_TAB_TO_VOICEMAIL);
        selectedTab = TabIndex.VOICEMAIL;
      }
      hideAllFragments();
      VisualVoicemailCallLogFragment fragment =
          (VisualVoicemailCallLogFragment) fragmentManager.findFragmentByTag(VOICEMAIL_TAG);
+3 −1
Original line number Diff line number Diff line
@@ -488,7 +488,9 @@ public final class NewSearchFragment extends Fragment
    if (event.getAction() == MotionEvent.ACTION_UP) {
      v.performClick();
    }
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
      FragmentUtils.getParentUnsafe(this, SearchFragmentListener.class).onSearchListTouch();
    }
    return false;
  }