Age | Commit message (Collapse) | Author |
|
Method signatures have changed for PhoneCallDetails and at some point the
wrong method call was made.
Bug: 16540503
Change-Id: Ie17facaa26aa6ebbb12a43b04d5ea4994b865a1f
|
|
* 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
|
|
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
|
|
* 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
|
|
|
|
Bug:16347739
Change-Id: I810af831b782f0a7a6f3aa9df154c93c03c4080e
|
|
Change-Id: I4597b14110c1cee7f637ec125b839852ef0f34c4
|
|
Change-Id: I2e97b348e6316a8b3ccc39fd81013e7f514a2889
|
|
Database and call log are now updated when user confirms.
Bug: 11150383
Change-Id: Ic716e92bcb2280c1d352bd2232bda516e83349b2
|
|
|
|
This reverts commit cee1e65f0c411e35c4521922c3e9def13e01fe64.
Change-Id: Ic50fd443856ea7e22714423939ac782cd4e89276
|
|
|
|
Database and call log are now updated when user confirms.
Bug: 11150383
Change-Id: Iafaca2172f2d44a6edf8514f7d900888dab9cf0e
|
|
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
|
|
Bug:16292368
Change-Id: I367f838a08bd478aca86e2d75b221250ebd8a82e
(cherry picked from commit 0e8a870afc9de3063a652256e81f9bf2043914e0)
|
|
Bug: 16013684
Bug: 16015261
Change-Id: Ie75443d641c1e09a5772bb618aba55de8583716b
|
|
Change-Id: I866e9d4f629a2b23acb3d3d3f2baeb0a674522f7
|
|
Change-Id: I032ca1c60cc7c5dbf9a6a832434fef5174ce90e8
|
|
Change-Id: I72755b548ae95e106fda012cd971d9c966a25cff
|
|
Display an icon in the call details showing which connection provider
(subscription) is responsible for the call.
Bug: 15473965
Change-Id: I0c6755864083799b8bafe20c3692b0d943beeee3
|
|
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
|
|
|
|
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
|
|
- 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
|
|
Remove unneeded use of resources
Instantiate CallLogListItemViews correctly
Add dummy number to SmartDialPrefixTests
Change-Id: I417f54329f43d53e24c4ab6cc65d08d05b5dd6a1
|
|
This reverts commit fabd82363920a24be32d68adb5966412c626dea0.
Change-Id: If65df0d4badc3381f60923a04412f4bec5c36c62
|
|
Remove unneeded use of resources
Instantiate CallLogListItemViews correctly
Add dummy number to SmartDialPrefixTests
Change-Id: I3d61c3a6892f3fe84a353cc7617c011aa5124e9a
|
|
Change-Id: I84dd2667227f40962b8d034c35c5e56f854221e3
|
|
* 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
|
|
Bug: 13962594
Change-Id: I92b3da51069f4299ef056fdfa6abdcf63c5549c1
|
|
|
|
Also fixing some broken unit tests.
Bug: 13962594
Change-Id: I3ca2d72b3013b6324da19717dbc984f3e7e576e2
|
|
Bug: 13962594
Change-Id: I19a4a65dce922619df0a709293ca291c345c8be7
|
|
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
|
|
*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
|
|
* 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
|
|
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
|
|
|
|
|
|
Bug: 6948882
Change-Id: Ibce04c24e64fdb33fba532c0f0e5dca3b11f1b6c
|
|
Statically initialize prefix logic to use NANP matching for NANP tests
Bug: 10346442
Change-Id: Ia268de8a9bc5ad8dae70fe6934823a3c289f0bae
|
|
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
|
|
* 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
|
|
Rename PhoneNumberHelper to more appropriate PhoneNumberDisplayHelper
Change-Id: I2c03f5cbb04c1e03f1fc1e0051a1cea641160dca
|
|
Bug: 10861718
Change-Id: I3a889a71cff7abac578da83d09dd7af23f3f88ca
|
|
Updating access modifier of test class.
Bug: 10822944
Change-Id: If24c4afc280b2b2dcdf38119a857f0f3b9fd8778
|
|
Change-Id: I82b7fa50601f6dad60038fd1b9c5f0aad2f374f5
|
|
Change-Id: I1d1aa2bc7228a788805937b80972cb800ed0ceff
|
|
Bug: 10330508
Change-Id: I5f73a63118558e734cd36e681c59f4b82050a49c
|
|
* 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
|
|
Bug: 10346442
Change-Id: Id6326622ff91175b55717409754dd376a48c0269
|
|
- 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
|
|
* 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
|
|
Change-Id: I2aa0458e1fb74abaea60a02f430a4e413dfed365
|
|
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
|
|
Bug: <5751629>
Change-Id: I1689fa10f285bc66fc69b6a9b9da139ce5461d83
|
|
- 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
|
|
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
|
|
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
|
|
Bug 8769688
Change-Id: I4aadd0f9e5495fb1b604910306dfd918d1540136
|
|
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
|
|
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
|
|
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
|
|
|
|
Bug: 8435819
Change-Id: I69c32207d123e5da4ae5421a5fe83ffeee4e5070
|
|
Bug 8566339
Change-Id: I20f84454f09be6f954c98042395908ca63977f6f
|
|
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
|
|
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
|
|
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
|
|
|
|
Change-Id: I2cf4ff36eb3198af45a6b4e16a3321d68849c9b4
|
|
Bug: 6656969
Change-Id: I0bb094125eb9be2b6508e6ca658ae23da9da19d1
|
|
Moving dependencies in preparation to move AccountTypeManager.
Bug: 6993891
Change-Id: I0399fee27960d46cd5b6f629d32868ff0c2ce38e
|
|
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
|
|
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
|
|
Bug: 6993891
Change-Id: Id4701c00455de609850a5afea74e68c6bd84cbb3
|
|
Bug: 6993891
Change-Id: I921ec71fffbd4d4a058bab29ded8a6ac62adfb70
|
|
- These classes are only used by dialer code.
- Fixed import order.
Bug: 6993891
Change-Id: I7941a029989c4793b766fdc77a4666f9f99b750a
|
|
Bug: 6993891
Change-Id: I758ce359ca7e87a1d184303822979318be171921
|