summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2014-11-14Remove call to deleted method AsyncTask.init().Jeff Brown
Bug: 18192406 Change-Id: I94df77ad8aaac8da5583ab80572c0bbd120b980e
2014-10-29Merge "Refactor ActionBarController and tests" into lmp-mr1-devYorke Lee
2014-10-28Refactor ActionBarController and testsYorke Lee
The original CL to fix ActionBarControllerTest by using an ActivityInstrumentationTestCase was too heavyweight and caused flaky test. It was also indicative of a flaw in the original design that ActionBar couldn't be mocked out easily. Refactor the code so that: 1) getActionBar() is no longer needed 2) Respect the invariant that all access to the actionBar goes through the ActionBarController (see the changes in ListsFragment) so that any change to the ActionBar's hide offset can be tracked appropriately. Bug: 17487016 Change-Id: I935b683ddb301ca5d3952889af1381bdbdcc97d3
2014-10-28More test-related changesYorke Lee
Fix failure in CallLogListItemHelper#testGetCallDescription_Video Add some documentation to CallDetailActivityTest Bug: 17487016 Change-Id: I31594feccb936500b20e13f3db5c68cbe5435c6e
2014-10-27Merge "Fix some broken Dialer tests" into lmp-mr1-devYorke Lee
2014-10-27Merge "Fix NPEs in ActionBarControllerTest" into lmp-mr1-devYorke Lee
2014-10-25Fix NPEs in ActionBarControllerTestYorke Lee
Create a MockActionBar that to prevent NPEs. For this an ActivityInstrumentationTestCase is needed. Bug: 17487016 Change-Id: Ieca95bec22c075ad64a1167e57f6b85f913bcf7e
2014-10-25Fix some broken Dialer testsYorke Lee
Bug: 17487016 Change-Id: I4c13c3e826a4eb1de84708dfa27ad093b2134087
2014-10-24Remove CallLogListItemViewYorke Lee
CallLogListItemView is a custom view that might have done something once, but doesn't anymore. It makes the code more complicated to read and requires a lot of casting that does nothing at all. Change-Id: I53efb35367d748aa3d164d0fb56686175967c90e
2014-10-15Enable use of phone accounts for voicemail info display.Nancy Chen
Call the "isVoicemailNumber(subId, number)" method instead of the one with just the number. This is because we need to check whether a number is the voicemail number for a specific phone account, otherwise the UI would never correctly display "voicemail" for the non-default SIM. Bug:17925501 Change-Id: If1d6cb1acfcb570aca5e639858af8804bac202c0
2014-09-16Remove ability to enable/disable phoneaccounts (4/6)Nancy Chen
Enabling/disabling of phone accounts was only used for SIP accounts and is no longer necessary for the purpose it was put in. Bug: 17510811 Change-Id: I41a2d11cfa85343fdf3f8681f1152d94abd79d2f
2014-09-12Renaming Telecomm to Telecom.Tyler Gunn
- Changing package from android.telecomm to android.telecom - Changing package from com.android.telecomm to com.android.server.telecomm. - Renaming TelecommManager to TelecomManager. Bug: 17364651 Change-Id: I44d6d6546cac53232e4e2be0ebe0391d02411309
2014-09-08Replace Calls.FEATURES_NONE with 0 (2/4)Yorke Lee
Bug: 17253963 Change-Id: I9e9e56cdf4c9a60ac1e047bef0eba2ba0c8f10fb
2014-08-20Pass application context into isVideoEnabled usages.Andrew Lee
Bug: 16211386 Change-Id: I0bda040bd6cd5c55ee7c708044befaad8977d460
2014-08-07Fix video description CallLogListItemHelper unit test.Tyler Gunn
Method signatures have changed for PhoneCallDetails and at some point the wrong method call was made. Bug: 16540503 Change-Id: Ie17facaa26aa6ebbb12a43b04d5ea4994b865a1f
2014-08-06Fix some action bar logicYorke Lee
* Restore action bar slid state only after onCreateOptionsMenu, when it has an effect * ActionBarController is now the only way to make changes to the offset of the action bar so that it can appropriately restore its state Bug: 16710397 Change-Id: Id9e0ebe210c89df0be56b32aa3bbd959cce88621
2014-07-25Add account label to call details if appropriateNancy Chen
We will be adding the account label field to call details if there is more than one account to disambiguate. Otherwise this field will be hidden. Bug: 16488229 Change-Id: Idb03d09d63372655504a5f9178e6f2e408aefb88
2014-07-24Add voicemail transcriptions to DialerYorke Lee
* Display voicemail transcriptions in the call log and call details activity in the Dialer * Fix a bug in CallDetailActivity that would result in multiple instances of VoicemailPlaybackFragment being added on rotation. Now, reuse the same fragment if it is already present in the FragmentManager, to avoid creating new ones * Simplify some test and ctor logic in PhoneCallDetails to reduce the pain of adding new fields into PhoneCallDetails * Simplified playback_layout.xml to remove unnecessary parent LinearLayouts Bug: 16320164 Change-Id: Ie68acc9058aace49d8e64f44a0128de0b6a3f842
2014-07-19Merge "Remove hardcoded class name from test" into lmp-devJay Shrauner
2014-07-18Remove hardcoded class name from testJay Shrauner
Bug:16347739 Change-Id: I810af831b782f0a7a6f3aa9df154c93c03c4080e
2014-07-20Rename PhoneAccountMetadata to PhoneAccountEvan Charlton
Change-Id: I4597b14110c1cee7f637ec125b839852ef0f34c4
2014-07-20Rename PhoneAccount to PhoneAccountHandleEvan Charlton
Change-Id: I2e97b348e6316a8b3ccc39fd81013e7f514a2889
2014-07-16Added a dialog to confirm caller id reporting (1/2).Sai Cheemalapati
Database and call log are now updated when user confirms. Bug: 11150383 Change-Id: Ic716e92bcb2280c1d352bd2232bda516e83349b2
2014-07-15Merge "Revert "Added a dialog to confirm caller id reporting."" into lmp-devSai Cheemalapati
2014-07-16Revert "Added a dialog to confirm caller id reporting."Sai Cheemalapati
This reverts commit cee1e65f0c411e35c4521922c3e9def13e01fe64. Change-Id: Ic50fd443856ea7e22714423939ac782cd4e89276
2014-07-16Merge "Added a dialog to confirm caller id reporting." into lmp-devSai Cheemalapati
2014-07-15Added a dialog to confirm caller id reporting.Sai Cheemalapati
Database and call log are now updated when user confirms. Bug: 11150383 Change-Id: Iafaca2172f2d44a6edf8514f7d900888dab9cf0e
2014-07-15Various call log / call details video call changes.Tyler Gunn
Requires cl/501841. Call log: 1. Add video call affordance. 2. Add accessibility text for calls, video call afforance. 3. Fixed unit test Call details: 1. Showing video icon when a call had video. 2. Changing call headings to indicate they were video calls. Bug: 16013879 Bug: 16013344 Bug: 16013684 Change-Id: I53b5bf9b0b1a63f9d119318d59f690d310cca7c8
2014-07-14Implement multi-SIM capabilities (3/6) [DO NOT MERGE]Ihab Awad
Bug:16292368 Change-Id: I367f838a08bd478aca86e2d75b221250ebd8a82e (cherry picked from commit 0e8a870afc9de3063a652256e81f9bf2043914e0)
2014-07-10Adding support for video call icon and data usage in call log.Tyler Gunn
Bug: 16013684 Bug: 16015261 Change-Id: Ie75443d641c1e09a5772bb618aba55de8583716b
2014-07-02Rename Telecomm "Subscription" to "Account" (3/7)Ihab Awad
Change-Id: I866e9d4f629a2b23acb3d3d3f2baeb0a674522f7
2014-06-30Adds back commented out test in DialerPaul Soulos
Change-Id: I032ca1c60cc7c5dbf9a6a832434fef5174ce90e8
2014-06-30Comments out faulty testPaul Soulos
Change-Id: I72755b548ae95e106fda012cd971d9c966a25cff
2014-06-26Add icon indicating subscription in call log/call historyNancy Chen
Display an icon in the call details showing which connection provider (subscription) is responsible for the call. Bug: 15473965 Change-Id: I0c6755864083799b8bafe20c3692b0d943beeee3
2014-06-13Add auto-offset for manual call log entry test screen.Tyler Gunn
Added ability to auto-offset the next call date/time to be manually added to the call log. This helps when you want to add a number of repeated calls but offset them by a short time (eg 1 minute). Change-Id: I66a59df47e17b99a008ca289c641301eda460b5e
2014-06-10Merge "Applying call details red-lines."Tyler Gunn
2014-06-10Adding ability to manually enter a call log entry to dialer test app.Tyler Gunn
Modified the FillCallLogTestActivity to include the ability to add calls to the call log manually (ie by specifying call date/time, type, etc). This is useful for call log debugging and testing. Change-Id: I4984b78fd38ceef4f18c89635fe61e4cd2c3ce3f
2014-06-09Applying call details red-lines.Tyler Gunn
- Contact photo is now quick-contact which invokes quick-contact view. - Removed send MS and call affordances, along with scrolling effect. - Added missing accessibility strings to voicemail controls. Bug: 15328410 Change-Id: I6d78d582af8c3a5cea8e051911cf3be763df2a36
2014-05-29Fix broken Dialer testsYorke Lee
Remove unneeded use of resources Instantiate CallLogListItemViews correctly Add dummy number to SmartDialPrefixTests Change-Id: I417f54329f43d53e24c4ab6cc65d08d05b5dd6a1
2014-05-29Fix build breakage: Revert "Fix broken Dialer tests"Ed Heyl
This reverts commit fabd82363920a24be32d68adb5966412c626dea0. Change-Id: If65df0d4badc3381f60923a04412f4bec5c36c62
2014-05-28Fix broken Dialer testsYorke Lee
Remove unneeded use of resources Instantiate CallLogListItemViews correctly Add dummy number to SmartDialPrefixTests Change-Id: I3d61c3a6892f3fe84a353cc7617c011aa5124e9a
2014-05-27Fix build breakYorke Lee
Change-Id: I84dd2667227f40962b8d034c35c5e56f854221e3
2014-05-23Add ActionBarControllerYorke Lee
* Collect all actionBar interactions within DialtactsActivity into a single controller to ensure that it behaves more deterministically, and fix some bugs with regards to actionBar interactions. * Make sure that action bar correctly handles activity recreation and destruction by saving its state * Add unit tests and mock classes for ActionBarController Bug: 14900155 Change-Id: I370831db425e1970b118f5d4fed3ce9297e3610d
2014-05-15Fixing build error caused by missing implementation in test class.Tyler Gunn
Bug: 13962594 Change-Id: I92b3da51069f4299ef056fdfa6abdcf63c5549c1
2014-05-13Animate call log expand/collapseYorke Lee
2014-05-12Removing highlighting of missed calls and voicemails in the call log.Tyler Gunn
Also fixing some broken unit tests. Bug: 13962594 Change-Id: I3ca2d72b3013b6324da19717dbc984f3e7e576e2
2014-05-05Adding support for expandable call log entries.Tyler Gunn
Bug: 13962594 Change-Id: I19a4a65dce922619df0a709293ca291c345c8be7
2014-04-21Use PhoneFavoritesTileAdapter directly in GridViewYorke Lee
This CL moves the adapter that contains the speed dial contacts into its own GridView that lives in PhoneFavoritesFragment. This is the first step to splitting up PhoneFavoritesMergedAdapter into a list of shortcuts and a grid of contacts, and also get rid of the convoluted ContactTileRow logic within PhoneFavoritesTileAdapter, to facilitate a future transition to RecyclerView. * PhoneFavoritesTileAdapter now directly returns PhoneFavoriteTileViews rather than ContactTileRows. * Deleted a lot of unnecessary complicated logic within PhoneFavoritesTileAdapter that had to do with ContactTileRows. * Simplified and rewrote animation logic so that animations now perform as expected within the GridView. In the future this may not be necessary if RecyclerView is used. * Rewrote layout/measurement logic for PhoneFavoriteTileView. It now determines its height directly based on what its measured width is. * Replaced PhoneFavoritesListView in PhoneFavoriteFragment with a standard GridView * Delete stale PhoneFavoriteTileAdapter tests Notes: Call shortcut cards are now temporarily missing due to this change Bug: 13963734 Bug: 13933092 Bug: 13419223 Change-Id: I71e8970667589e4024d00e9af2c8b45c843c5db1
2014-02-28Use new ContactPhotoManager APIs for letter tile avatarsYorke Lee
*Modify the following uses of ContactPhotoManager.loadPhoto in the following classes to include a DefaultImageRequest, populated with the contact's display name, lookupkey, and contact type as necessary CallDetailActivity CallLogAdapter PhoneFavoriteTileView *Add utility methods to ContactInfoHelper, to parse a lookupUri for a lookup key, as well as determine whether or not a contact is a business contact, from its sourceType field. *Add a sourceType field to PhoneCallDetails which can be used to track whether or not PhoneCallDetails belongs to a business contact *Add a lookupKey field to ContactInfo Bug: 13101785 Change-Id: If339a9c038f92a0212f8f8b45b5e3cc5f6442562
2014-02-18Switch favorites screen to grid layoutYorke Lee
* Add logic to PhoneFavoritesTileAdapter so that it now supports an unlimited number of tiled rows. * Tiles now have a configurable height to width ratio. * Fix animations so that tiles moving up and down rows appear to animate in from the correct direction. Tiles moving to the row above should animate in from right to left. Tiles moving to the row below should animate in from left to right. * Update the number of columns in the grid to 2. * Update layout of individual tiles to match redlines from UX. * Tweak font sizes for tiles * No longer truncate names in tiles * Tiles have a 2-3 height to width ratio * Update assets and layout for favorite and more info icons * Add content description for the favorite button * Add tests for PhoneFavoritesTileAdapter Change-Id: I50b298f0941698985d281f13e6a87c5a9b613efa
2014-02-03Call History Affordances SwapTyler Gunn
1. Swapped the intents for the primary view 2. Changed the icon for the secondary action button 3. Added a vertical divider line to separate the secondary action button from the primary view 4. Cleaned up the accessibility text Change-Id: Ifd4ceff0d67b1587c4378e29be7344de50057a7d
2013-11-25Merge "Remove use of hidden TelephonyManager methods"Yorke Lee
2013-11-25Merge "Fix Dialer tests"Yorke Lee
2013-11-22Remove use of hidden TelephonyManager methodsYorke Lee
Bug: 6948882 Change-Id: Ibce04c24e64fdb33fba532c0f0e5dca3b11f1b6c
2013-11-22Fix SmartDialNameMatcher NANP testYorke Lee
Statically initialize prefix logic to use NANP matching for NANP tests Bug: 10346442 Change-Id: Ia268de8a9bc5ad8dae70fe6934823a3c289f0bae
2013-11-22Fix Smart dialing testsYorke Lee
Test contacts were being created without unique contact ids and lookup keys, causing them to be mistakenly identified as duplicates. Bug: 10346442 Change-Id: I47fd5bdae83346b6b2f620d7abe49326b1cfd23d
2013-11-22Fix Dialer testsYorke Lee
* Empty geocode is now " " instead of "-" per UX request * DialpadFragment now throws IllegalArgumentException instead of Log.wtf so that it can be tested * Added contact id column to contactsprovider query * Modified PhoneNumberDisplayHelper to take an instance of PhoneNumberUtilsWrapper so that it can be mocked out Fix label-related tests that were failing due to a change in how we treat empty labels Bug: 9111164 Change-Id: If2244586b9d09fa2839fa0ddfc9f369f9dc66e51
2013-11-19Rename PhoneNumberHelper in DialerYorke Lee
Rename PhoneNumberHelper to more appropriate PhoneNumberDisplayHelper Change-Id: I2c03f5cbb04c1e03f1fc1e0051a1cea641160dca
2013-09-24Adding missed call badge.Chiao Cheng
Bug: 10861718 Change-Id: I3a889a71cff7abac578da83d09dd7af23f3f88ca
2013-09-20Fix build break.Chiao Cheng
Updating access modifier of test class. Bug: 10822944 Change-Id: If24c4afc280b2b2dcdf38119a857f0f3b9fd8778
2013-09-14Follow up on build break to fix unit tests.Chiao Cheng
Change-Id: I82b7fa50601f6dad60038fd1b9c5f0aad2f374f5
2013-09-13Fix build break.Chiao Cheng
Change-Id: I1d1aa2bc7228a788805937b80972cb800ed0ceff
2013-09-11Add no contacts view to DialerYorke Lee
Bug: 10330508 Change-Id: I5f73a63118558e734cd36e681c59f4b82050a49c
2013-08-22Rewrite animation logicYorke Lee
* Remove old animation-related code. In the past, animations would be applied to a view everytime getView was called. This is no longer the case so it fixes the issue of animations triggering everytime the list was scrolled, dialpad opened, etc. * Make PhoneFavoriteMergedAdapter (and PhoneFavoritesTileAdapter) return stable IDs, so that they can be used for animations. The ID schemes are described below: (N + 1) to -2: CallLogAdapterItems, where N is equal to the number of call log items -1: All contacts button 0 to (N -1): Rows of tiled contacts, where N is equal to the max rows of tiled contacts N to infinity: Rows of regular contacts. Their item id is calculated by N + contact_id, where contact_id is guaranteed to never be negative. * Perform animations by saving each view's offset before the data set changes, and then applying a translation animation to them based on their new offsets in the updated list view. This is the same method described by the framework team at : http://graphics-geek.blogspot.com/2013/06/devbytes-animating-listview-deletion.html In our case, we need to perform both horizontal and vertical animations because of the contact tile favorites. Bug: 10294203 Change-Id: I3ea4ff9995c539267410a264dbbea5ffa02bc6e3
2013-08-17Fix SmartDialPrefixTest database creation.Christine Chen
Bug: 10346442 Change-Id: Id6326622ff91175b55717409754dd376a48c0269
2013-08-15Change primary actions of the CallLog items.Christine Chen
- When the CallLog item is in the CallLog fragment, the primary action remains to be opening the call detail page. - When the CallLog item is in the Favorite fragment, the primary action changes to be calling the number directly. The secondary action is hidden unless it is to play a voicemail. Bug: 10308694 Change-Id: I28ca7aa783bcca35eb8b41f6e8508d08062dd253
2013-08-07Integrate pinning support with drag and drop UIYorke Lee
* Added the concept of a blank entry. This is used to keep the rest of the list in place while a contact is being dragged. Blank entries appear as invisible views for now. * Added the concept of a DEMOTED contact, which is used to indicate that a contact should never be displayed in the favorites list. * Pinned position management methods and tests Added two methods to handle assigning of contact positions based on their pinned positions, as well as reflowing of contacts when a contact is pinned at a new position. The assigning of contact positions works as defined below: 1) All contacts with pinned positions are assigned their defined pinned positions as necessary. 2) If two contacts have been given the same pinned position, they are ranked based on the order returned from the ContactsProvider ( alphabetical by display name). The second contact is then pushed to the next position, bumping all corresponding pinned contacts down by one spot as necessary. 3) If there is a contact with a pinned position that is greater than the number of starred + frequent contacts (this can happen if user clears frequents, for example), then it is simply treated as an unpinned contacts. 4) All unpinned contacts flow to fill in the gaps between pinned contacts. The reflowing of contacts works as defined below: 1) Pinning a contact at a new spot replacing an unpinned contact simply pins it at that position. 2) Pinning a contact at a new spot where there was already an existing pinned contact bumps that replaced pinned contact down by one spot alongside all subsequent pinned contacts as necessary. I.e. contact A is pinned at position 2. Before: [A][1][P][P][4][P] After: [0][1][A][P][P][P] 3) If there is no more space at the end of the list to bump the pinned contacts one spot further, then the replaced pinned contacts will shift to the left to take the space of the original moved contact. I.e. contact A is pinned at position 3. Before: [A][1][P][P][P][P] After: [0][P][P][A][P][P] * We no longer perform dynamic updates of the in-memory list. Instead, when a contact is dropped at a new location, the new positions are sent to the ContactsProvider, which updates the database and notifies the adapter that there is a new cursor with updated data. The new list of ContactEntries is then reconstructed from this new cursor. Note that animation behavior with the newly introduced pinned contacts is pretty janky looking - Instead of flowing together with the rest of the unpinned contacts, pinned contacts should remain in position and not animate on a dataset change. Likewise for empty contacts. In order to support this, the animation logic will have to be rewritten to take into account not just soley where the dragged contact was dropped, but also the old and new position of each and every single contact in the list, before and after the database refresh. Change-Id: I5c9542a7fec529f5d965eebe76acbebe1fc10357
2013-08-05Code cleanup for call log related itemsYorke Lee
Change-Id: I2aa0458e1fb74abaea60a02f430a4e413dfed365
2013-07-16Initial commit of all new dialer activities, layouts and stylesYorke Lee
As far as possible, this change does not modify any behavior/look of the existing dialer. All modifications to classes/layouts/style attributes that would affect functionality of the old dialer are instead done in separate new files. Added new versions of all activities, fragments, layouts, menus and resources that have been rewritten or modified. The activities do not have intent filters yet in order to not interfere with the existing dialer. Added some new values in colors/styles/dimens for the newly added layouts. Added NewCallLogActivity to separate the CallLogFragment from DialtactsActivity. All call log and voicemail entries are now presented in a separate (New)CallLogActivity. IntentProvider.getCallDetailIntent now takes a cursor instead of an adapter for more flexibility. Add OnListFragmentScrolledListener interface for DialtactsActivity to receive callback when one of its children fragment is scrolled. Added slide in and slide out animations for DialpadFragment. Add slide up and hide animations for search view All menu options now show up in a PopupMenu in NewPhoneFavoriteFragment. Added call log adapter into NewPhoneFavoriteMergedAdapter. Rewrote layout of DialpadFragment to show up as a fragment partially overlaying the screen. Removed some unused code in DialpadFragment (smart dialing, menu handling) Add fragments and adapters for SmartDial. - Update Dialer database to support highlight masking and record contact data Uri, as well as photo uri - Add a fragment and adapter for smart dialing - Add SmartDialCursorLoader to load SmartDial results. - Typing in the dialpad now returns smart dialing results instead of regular search results QuickContactTiles for all sub-adapters of PhoneFavoriteMergedAdapter now use light theme instead of the the default dark theme. Removed all redundant call log filter and contacts to display filter code Moved Dialer specific UI list-related classes to the Dialer package Change-Id: I34885813e4fa79b69e29ac870a87a56d6f08a5e7
2013-07-03Remove CallLog New and Old sectioning.Christine Chen
Bug: <5751629> Change-Id: I1689fa10f285bc66fc69b6a9b9da139ce5461d83
2013-06-28Add SmartDial database for the Dialer app.Christine Chen
- Creates a database helper to create a smartdial database for the Dialer app. - Queries all rows in the Contact database and copies related columns to the smart dial database. - Create another prefix database to contain all prefixes of a contact. - During keypad input, the prefix databse is queried to find contact suggestions, and suggestions are ranked by the usage data and contact status (starred, primary contact, etc.) - Created unit test for the SmartDial database insertion and prefix computing functions. Change-Id: I4d7c3b3bcc52dd6efa4d6e69d3f1687c3abaeb69
2013-06-13Use new CallLog number presentation columnJay Shrauner
Switch to using new number presentation column in the CallLog table and discontinue using special phone number strings in CallerInfo. Needed for unbundling. Bug:6948882 Change-Id: Ibf27ea55cee783c4530101e4e228198e245e6684
2013-05-23Added SmartDialMap interfaceYorke Lee
All character validation, remap and index calculations in both SmartDialTrie and SmartDialNameMatcher now go through a SmartDialMap. The LatinSmartDialMap is used by default. Bug: 8769026 Change-Id: I4ff90acc380e802f035ca1fbc55c022bf3b76aa3
2013-05-01Apply NANP logic to numbers with a +1 country codeYorke Lee
Bug 8769688 Change-Id: I4aadd0f9e5495fb1b604910306dfd918d1540136
2013-04-30Fix Smart dialing OOM for extremely long contactsYorke Lee
Names with an extremely large number of name tokens were using exponentially increasing amounts of memory since we have to insert entries for all possible initial name combinations. Added a check in the trie insertion algorithm to only add initial matches for the 1st 2, and the last 2 name tokens. This change only affects search by initial matches for names exceeding 4 name tokens. Full token search for names of all lengths should still work. E.g. "frank", "enstein" would still match "Dr Frank En Stein DDS". However initial matching would be limited to the first 2 and last 2 tokens. So "dfsd" or "fsd" would work, but "fes" or "fed" would not. Also fixes a bug caused by integer overflow when calculating thresholds for bucketing frequently used contacts Bug 8737986 Change-Id: I804184368b78fe2fa407667ed83874d839c28115
2013-04-19Allow name matching for contacts with numbers in their nameYorke Lee
For SmartDialTrie, also include numbers as valid characters when calculating indexes when generating the byte array. For SmartDialNameMatcher, include '0'-'9' as valid latin characters, and handle them appropriately after remapping accented characters. Also fixed a subtle matching bug that would manifest itself when matching against multiple tokens with similar initials - E.g. "Dr.Dredd" Bug 8659001 Change-Id: If461d2760a723ef7fd03dda0c1a1515cd7b44cf6
2013-04-17Allow smart dialing to ignore country code/area codeYorke Lee
Add handling of country codes if the number starts with a '+' prefix Also add special case handling for NANP numbers in SmartDialTrie if we determine that the user is in North America. Save user's SIM country ISO into SharedPreferences. Add SmartDialNameMatcher methods to correctly match NANP numbers Fix tests to use assertTrue/assertFalse instead of assertEquals Bug 8292294 Change-Id: Ic61dac75ee3b772986d3008240bbda81322c8f31
2013-04-08Merge "Fix name matching bug with non space separators" into jb-mr2-devYorke Lee
2013-04-08Fix name matching bug with non space separatorsYorke Lee
Bug: 8435819 Change-Id: I69c32207d123e5da4ae5421a5fe83ffeee4e5070
2013-04-08Fix failing tests in PhoneCallDetailsHelpeTestsYorke Lee
Bug 8566339 Change-Id: I20f84454f09be6f954c98042395908ca63977f6f
2013-03-19Always show WAIT/PAUSE in dialer overflow menu.Santos Cordon
Used to hide menu items when not applicable. Now we show them always and only perform the action in those cases where menu items were previously visible. Updated code to do zero-position checks when there is no selection...previously missing check. Changed code to use chars instead of Strings when dealing with single digits. Consolidated duplicate code with updateDialString() function. bug: 7478840 Change-Id: I2aa5d3badd40079e9aa75abf7e4051f9dba5e667
2013-02-12Smart Dialling v2 with phone number supportYorke Lee
Behavior: Use a prefix tree to cache contacts instead of an array list Perform matches against phone numbers as well DialpadFragment now ignores results from stale tasks where queries no longer match Add ability to not use default phone number for phone number disambiguation dialog Contacts are now ranked by the order which they were sorted by in the ContactsProvider (affinity) Change remapAccentedChars to always return lowercase characters to avoid overhead of uppercase character conversion Resource/Layout changes: Tweak margins so that the section containing smart dial suggestions looks cleaner Use color resource instead of hardcoding color values Add phone number to SmartDial items ContentObserver: Add a contentobserver to be notified on changes in contacts Refactored cache to allow for forced cache refreshes Use a single instance of SmartDialCache Tests: Added SmartDialTrie tests Comments: Comment cleanup Change-Id: Ica2854e2845d4d75048aa1fd982f139496d21bf3
2013-02-04Enable initial matching for Smart DiallingYorke Lee
Allow the name matcher function used by smart dialling to perform initial matches of the variety 57 - (J)ohn (S)mith Refactor SmartDialNameMatcher testing method to allow checking multiple match positions. Add tests for initial matches Change-Id: Iadc5e3e8b2f408136c704015d2297e9b520e1065
2012-12-03Merge "Move misplaced SmartDialNameMatcherTest"Yorke Lee
2012-11-30Move misplaced SmartDialNameMatcherTestYorke Lee
Change-Id: I2cf4ff36eb3198af45a6b4e16a3321d68849c9b4
2012-11-30Cherrypick Arabic/Farsi pasting into dialpad fixYorke Lee
Bug: 6656969 Change-Id: I0bb094125eb9be2b6508e6ca658ae23da9da19d1
2012-11-13Move dependencies of AccountTypeManager into ContactsCommon.Chiao Cheng
Moving dependencies in preparation to move AccountTypeManager. Bug: 6993891 Change-Id: I0399fee27960d46cd5b6f629d32868ff0c2ce38e
2012-11-09Use a custom character map instead of name normalizerYorke Lee
Instead of normalizing names during caching, add a function that that maps accented characters to their alphabetic equivalents using switch statements. This character map is used in the on-the-fly matching algorithm. This speeds up the caching process(11k contacts) from 800-1500ms to about 600-1000ms since we no longer perform the normalizing step during caching. Bug: 6977981 Change-Id: I98dfc3cba00258bb7ff03b346eab7ca7dc1065be
2012-11-07Add smart dialling capabilities to dialerYorke Lee
Layout changes to dialpad fragment to make space for smart dial suggestions. This feature does not appear in landscape mode. SmartDialTextView automatically resizes text to fit within the bounds of the view. SmartDialAdapter highlights certain portions of the matching name based on match positions provided by SmartDialNameMatcher. SmartDialLoaderTask is an AsyncTask that caches all contacts with a phone number into memory, or matches all contact names against a provided query to return a list of matches (maximum of 3). SmartDialNameMatcher contains utility functions to remove accents from accented characters and normalize a phone number. It also contains the matching logic that determines if a contact's display name matches a numeric query. Added some tests for SmartDialNameMatcher Bug: 6977981 Change-Id: I43e1a70d8d0d46e02fc67fe1caaec9a1769124f5
2012-10-31Moving PhoneNumberInteraction from Contacts.Chiao Cheng
Bug: 6993891 Change-Id: Id4701c00455de609850a5afea74e68c6bd84cbb3
2012-10-15Changing com.android.contacts.R to com.android.dialer.R.Chiao Cheng
Bug: 6993891 Change-Id: I921ec71fffbd4d4a058bab29ded8a6ac62adfb70
2012-08-30Moving more classes from contacts into dialer.Chiao Cheng
- These classes are only used by dialer code. - Fixed import order. Bug: 6993891 Change-Id: I7941a029989c4793b766fdc77a4666f9f99b750a
2012-08-21Initial move of dialer features from contacts app.Chiao Cheng
Bug: 6993891 Change-Id: I758ce359ca7e87a1d184303822979318be171921