天天看點

Android5.1 - 通訊錄建立群組

【問題】

在沒有賬戶的時候,不應該有添加聯系人群組的選項。

我們要把這個選項幹掉。

【相關log】

06-23 17:25:00.804: E/GroupEditorFragment(6030): No accounts were found.

//GroupEditorFragment.java (packages\apps\contacts\src\com\android\contacts\group)

//line 327 log

06-23 18:56:31.109: I/ActivityManager(1376): Start proc 12138:com.android.contacts/u0a4 for activity com.android.contacts/.activities.PeopleActivity

【相關代碼】

//PeopleActivity.java (packages\apps\contacts\src\com\android\contacts\activities)

1278 MenuItem addGroupMenu = menu.findItem(R.id.menu_add_group);

1483 private void createNewGroup()

1374 @Override

public boolean onOptionsItemSelected(MenuItem item)

定義有各個按鍵對應的動作

if (isSearchMode) addGroipMenu.setVisible(false);

1366 private void makeMenuItemVisible(Menu menu, int itemId, boolean visible)

選擇可視按鍵

1265 @Override

public boolean onPrepareOptionsMenu(Menu menu)

在這裡設定按鍵是否可視。主要觀察addGroupMenu.setVisible()方法

1337 注釋掉addGroupMenu.setVisible(true);

在這句之前已進行了一個判斷,來确定addGroupMenu是否可視

注釋掉這行後,功能按鈕消失。

/**

ActionBarAdapter.java (apps\contacts\src\com\android\contacts\activities)

*/

public interface TabState {

public static int FAVORITES = 0;

public static int ALL = 1;

public static int GROUPS = 2;

public static int COUNT = 3;

public static int DEFAULT = ALL;

}

MenuItem.java (apps\tvsettings\settings\src\com\android\tv\settings)packages

PeopleActivity中調用的MenuItem是這個類的

*/

//GroupEditorActivity.java

//

06-23 17:30:09.238: V/WindowManager(1376): Adding window Window{50c5c54 u0 PopupWindow:2e73e0f2} at 6 of 12 (after Window{30373fd0 u0 com.android.contacts/com.android.contacts.activities.PeopleActivity})

///frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java

//line 952 log 添加視窗的時候都會調用,在這裡沒啥指導意義

【調試問題】

/*

~/workspace/AP/out/target/product/msm8909/system/priv-app/Contacts$ adb push Contacts.apk system/priv-app/Contacts

2412 KB/s (4819489 bytes in 1.951s)

liuyu@liuyu-OptiPlex-3020:~/workspace/AP/out/target/product/msm8909/system/priv-app/Contacts$ adb reboot

重新開機後,通訊錄圖示消失了

圖示消失是因為出錯。用fastboot重新燒錄之後,通訊錄正常。

修改源檔案的錯誤,重新編譯。push進去後,reboot,可以看到新打的log。

lsusb 18d1:d00d

繼續閱讀