Age | Commit message (Collapse) | Author |
|
Bug: 88003605
Test: Not possible; robo does not support a widget and the test suite is disabled.
PiperOrigin-RevId: 201587545
Change-Id: I3683cb5649f9384c63e2156c67a38b3ff31675d7
|
|
- README on how to properly theme Dialer going forward.
- Migrated all widgets to use global colors.
- Removed all activity and application themes where it wasn't necessary.
- Added themeing test rule for Espresso tests.
Bug: 79883035
Test: tap
PiperOrigin-RevId: 197634256
Change-Id: I4b7d94d45aeeb59d484b0069fdd1e200a654910b
|
|
deleted several colors and unified them across the app
migrated several alert dialogs to support alert dialogs
added many todos
migrated several tests from GoogleRobolectricTestRunner to RobolectricTestRunner
Because of the test migration:
- moved dialpad theme attributes into dialpad/theme
- moved incall ui theme attributes into incallui/theme
Bug: 79883035
Test: tap
PiperOrigin-RevId: 197246477
Change-Id: Ifc534793bc32757bbbf2007a7c40287c8d0817ad
|
|
The smart dial normalization remove non-digits, so the raw number must be set.
TEST=TAP
Bug: 79400183
Test: TAP
PiperOrigin-RevId: 197208475
Change-Id: I303f1b19c30f11303066750f7a830f33ab79ce4f
|
|
Test: tap
PiperOrigin-RevId: 196575887
Change-Id: If2d07a2db075697f490d99021ad0616b40a3aff7
|
|
This CL consolidates common duo calling operations into precall, including checking reachability, falling back to carrier video call, placing the call to duo with startActivityForResult.
TEST=TAP
Bug: 78783816
Test: TAP
PiperOrigin-RevId: 195742478
Change-Id: I9fea1e4999f604e1f3a153b28079cd0db77b7393
|
|
They are not constant across different Duo implementations.
TEST=TAP
Bug: 76430187,78783816
Test: TAP
PiperOrigin-RevId: 195001650
Change-Id: I4356d04c9eeac50fefd41e1142f3123591e93bc0
|
|
- back arrow in search now flips in RTL mode http://screen/1eccBLDqPp0
- search text no longer overlaps icons http://screen/Mq0omQEuZez
- keyboard now always closes on pause
- location permission is no longer visible in dialpad search
Bug: 73088433,74784637,76117373,76440832,76441216
Test: keyboard and rtl tested manually, added test for location permission
PiperOrigin-RevId: 190981686
Change-Id: Ia121d410c158df0de9cd731ab280a6d8e9b300d9
|
|
Test: Existing tests
PiperOrigin-RevId: 190820867
Change-Id: I4835bcbc7698075fb54015dccc6823ada4c71651
|
|
Bug: 74784637
Test: impl
PiperOrigin-RevId: 190515545
Change-Id: I70f2e6db078f3a83fc33e8493b6af143184fe736
|
|
up to N.
Test: Existing tests
PiperOrigin-RevId: 190508397
Change-Id: Ia5f33e45af1d1cc666fec5f43efa564b2b68c193
|
|
Bug: 74421656
Test: DialerBidiFormatterTest
PiperOrigin-RevId: 190154072
Change-Id: Ic7cb3be702dd28b07b6e5e1e6d89f75f0bb12655
|
|
Bug: 72755010
Test: manaul
PiperOrigin-RevId: 189408046
Change-Id: Ia23442b2243e2008042e0046a21f840a30dbf008
|
|
Apperently contact ids are invalid for work contacts, so the URI needs to
exclude them.
Bug: 72755010
Test: manual
PiperOrigin-RevId: 189374262
Change-Id: Ibeaa555dc035e14ea67905c342369188ecfd1832
|
|
Bug: 74784637
Test: manual
PiperOrigin-RevId: 189276349
Change-Id: I27b0f911ab5165f902bef017e8c09276441a9dee
|
|
For simplicity, instead of resolve the nui shortcut string, I
deleted it since it isn't used anymore.
Test: build log
PiperOrigin-RevId: 189260472
Change-Id: I67d5a49d78916a8960e41ad1c7b7f59efad6d718
|
|
Keyboard should close when:
- requeting permission
- placing a call
- leaving the app
Search should close when:
- placing a call
- leaving the app
Bug: 74235853
Test: search closing onPause tests already exist (MainActivityOldPeerSearchIntegrationTest#placingCallFromSearchClosesSearch)
PiperOrigin-RevId: 188812026
Change-Id: Iaee084c59b4c514d10375deff5d73d5a456ef9df
|
|
Bug: 73887387
Test: Existing tests
PiperOrigin-RevId: 187225355
Change-Id: I65de553078e147a46d933daf34dfd912fc8aa74c
|
|
Bug: 73886704,73887420
Test: n/a
PiperOrigin-RevId: 187201516
Change-Id: Ic94816e198e29b87b031a85252e984bc167bb7f8
|
|
Bug: 73547944
Test: Cp2ExtendedDirectoryPhoneLookupTest
PiperOrigin-RevId: 187064655
Change-Id: Icb468e0867248f097a77134dd67a53352f7c80b0
|
|
things accordingly.
Test: Existing tests
PiperOrigin-RevId: 186355284
Change-Id: I7c2a2917175ef13742ca3b2e628d8655dc668f60
|
|
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
|
|
We were intentionally leaving out work profile contacts to gauge user impact.
Unfortunatly, no enterprise users left feedback in the play store but luckily,
they raised the concern internally and it was escalated to the Android for Work
team.
Bug: 73083054
Test: manual
PiperOrigin-RevId: 185409607
Change-Id: Iae40d0abdbe7f209ba3ad12823e07eac748632a5
|
|
Bug: 68272797
Test: manual
PiperOrigin-RevId: 183023158
Change-Id: Iccee9278a89c944c443cb0d4022554ce7f634bab
|
|
Bug: 71737256
Test: NewSearchFragmentTest
PiperOrigin-RevId: 183020934
Change-Id: Ifed4364901ca77036fa6d0b149857fbbd7e9fca0
|
|
search fragment.
Test: DirectoriesCursorLoaderTest, RemoteContactsCursorLoaderTest
PiperOrigin-RevId: 182578207
Change-Id: I03c81bd8581c8abbef1bbca1a960f3380d588d22
|
|
There are a few interesting UX niceties that we support in search:
1) When in regular search with an empty query, close the UI if the user
touches the blank space.
2) When in regular search with a non-empty query, hide the keyboard if the
user touches the the list so they can see all results.
2) When in dialpad search with an empty query, close the UI if the user
touches the blank space.
3) When in dialpad search with a non-empty query, hide the dialpad so the user
can see the full list of results.
This change also adds logic to transfer the dialpad query to the search bar.
Bug: 64655802
Test: MainActivityIntegrationTest
PiperOrigin-RevId: 182434126
Change-Id: Iabb73b0018fa20e2811010a73a35d3aa3b35343b
|
|
Toolbar, Dialpad, Bottom Nav, FAB and Search now all show
and hide properly according to the state of the application.
Follow up CLs will include:
- saving/restoring state
- sending query to search fragment to display results
Bug: 181512198
Test: MainActivityIntegrationTest
PiperOrigin-RevId: 182259200
Change-Id: I1309d8df2a5425bf051e52a459a1f78e1157fe08
|
|
T9 bolding now works when the query continues past a single name and extends to
the next. For example, a query of "2226" would bold "[AAA M]om". This was
supported in the old search.
Bug: 71384038
Test: existing + new
PiperOrigin-RevId: 181211263
Change-Id: I7d7fe8be794f410e697ddbcb26c6bc10c7893e5a
|
|
Bug: 30215380,70633239
Test: Existing tests
PiperOrigin-RevId: 179868033
Change-Id: If8cdbdfafb3a66397623578131649cb8adc18733
|
|
Bug: 70336190,70348007
Test: existing
PiperOrigin-RevId: 178325355
Change-Id: Ic43beb7a10c5127083ed33e69603b25b2831754f
|
|
Since we close the original cursor we queried in the cursor loader,
we need to assign a new content observer to the cursor we build so
that our search results update when there are changes to the contacts
db.
Bug: 63830179
Test: manual
PiperOrigin-RevId: 177368459
Change-Id: I025ea70334265cb2fdc651ed7ea046b039738e94
|
|
I accidently made the search/dialtacts UI TOO performant and everything was
happening too quickly. Postponed closing the dialpad and exiting search until
onPause, but immediately close the keyboard so it isn't visible over the in
call ui.
Bug: 69313203,68857994
Test: see video
PiperOrigin-RevId: 176531801
Change-Id: I52729c451d46ad00ac87c47f189134694554d33a
|
|
Bug: 68272141
Test: n/a
PiperOrigin-RevId: 176531675
Change-Id: Ia6cc29c4285ebe280d23a81f91007a02a65855b3
|
|
This means that names like "Bob Dylan" can be displayed as "Dylan, Bob" and
the names are now able to be sorted by last name as well.
This change also adds content descriptions to search icon for a11y.
Bug: 68293751
Test: NewSearchFragmentTest
PiperOrigin-RevId: 176382228
Change-Id: I5b2b0f3f3f1e2f23ea6b745fd809adfb0ba6242c
|
|
When a user types a phone number into the search bar, there isn't an intuitive
way for them to place a call when the number doesn't match any existing
contacts in the new search UI. This change adds the option to place a voice
call from regular search, like the old UI.
Bug: 69385190
Test: NSFT
PiperOrigin-RevId: 176189153
Change-Id: I6c1561bcce104c56855d996570a79b34da7230ff
|
|
during search.
We have observed in the wild that some apps implementing remote directory don't seem to respect the where clause.
Note that if a search returns 10 results, and 4 of them have null numbers, we will only show 6 numbers where ideally we'd show 10. (It would take a lot of work to fix that just to workaround misbehaving providers which I don't think is worthwhile.)
Bug: 68942044
Test: unit + manually changed guard condition and observed rows hidden
PiperOrigin-RevId: 176183008
Change-Id: Icdb26fa043644e27a4b6ac3c767c728b3ca224ff
|
|
Bug: 68942044
Test: NO
PiperOrigin-RevId: 176147553
Change-Id: Ia22751f02cdd621c2095e8e476a3077db2c541fa
|
|
This change also enables search actions to be visible in regular search.
screenshot: http://screen/ULBgq2RnKnM
Bug: 68730642,67657783,68775021,66723880
Test: manual
PiperOrigin-RevId: 175892821
Change-Id: I2c71fe8ffa2ffddfbc88d777909c4837e0ea4384
|
|
This change updates search fragment to now preprocess query
results and hold them in memory. This significantly improves the
lookup runtime to be O(logn) on average and O(N) worst case.
Bug: 69100384
Test: existing (plus some time measurement regression tests)
PiperOrigin-RevId: 175891990
Change-Id: I6d7ae61c478b544af42d954af4e8580e052693ba
|
|
This is caused by normalizing numbers from dialpad search into search box, while "add new contacts" and "send sms" etc. wouldn't work properly without full number.
This change also fix "send sms" in old search fragment.
This change includes upstream change from:
https://android-review.googlesource.com/#/c/platform/packages/apps/Dialer/+/530377/
Change address format when sending message from smart dial
In Android O, send search key number as address to message app.
In Android N, send real input number as address to message app.
Fixed the issue by reverting to Android N implementation.
Affected Area:
Send SMS operation from Dialer smart dial search result list.
Bug: 68962106
Test: manual
PiperOrigin-RevId: 175317850
Change-Id: I96dd576144f93f7502977bfdb4b9e9d9c8f73526
|
|
Bug: 68848807
Test: unit
PiperOrigin-RevId: 175190786
Change-Id: I15b525951cb87afb8b48f3bdb2174605c94c99cf
|
|
contacts.
Bug: 68942044
Test: none
PiperOrigin-RevId: 174944384
Change-Id: Ie03ce41e517cfb73081231898a7e9dcc3feee2f2
|
|
This CL replaces all instance of CallIntentBuilder.build() with PreCall.getIntent(), which when run as an activity, will finish building the intent with user interaction.
Bug: 64216442
Test: manual
PiperOrigin-RevId: 174924323
Change-Id: If41868df4c7ed078d03bd3431fa85b8947056a01
|
|
Multi-SIM and several other new features requires additional user input (ie. select the phone account to call with) or processing (ie. rewrite phone number for assisted dialing) before the call is actually made. The plan is to use a chain of pre-call actions to complete the dialing infomation,with the CallIntentBuilder holding the intermediate steps. For example, a pre-call action can examine the CallIntentBuilder and figure that the PhoneAccountHandle cannot be inferred, and show a dialog for the user the select it. Only after pre-call actions are completed, the intent is built and sent to telecom.
Since pre-call actions involves dialogs and the process can be interrupted, the CallIntentBuilder must be persistable so the state can be restored. This CL made it parcelable so it can be stored with onSaveInstanceState().
The AssistedDialingMediator in CallIntentBuilder is temporarily removed as it would be called using a pre-call action in a future CL.
Bug: 64216442
Test: CallIntentBuilderTest
PiperOrigin-RevId: 174902775
Change-Id: Icf2f8fae620868d1a2f5acf0d08ae0a6bec4fb76
|
|
Bug: 30215380
Test: QueryBoldingUtilTest, QueryFilteringUtilTest, ContactFilterCursorTest
PiperOrigin-RevId: 174408771
Change-Id: I4c601b16dd90db6b7b2a05c9daa6804749ea2a43
|
|
DialerUtils#getDefaultSharedPreferenceForDeviceProtectedStorageContext(Context) to StorageComponent.
Bug: 30224215
Test: none
PiperOrigin-RevId: 173612463
Change-Id: Ia89d5d85c31ea2114b196393ae43b803023fc9bf
|
|
Moved SearchContactViewHolder listener logic from SearchAdapter
to SearchFragment to make it easier to close search after placing a call.
Bug: 68201142
Test: existing + DialtactsActivityTest
PiperOrigin-RevId: 173454972
Change-Id: Ib5715d0f427d62344641b4bf841d34145fc3f65e
|
|
It fixes AOSP for package name conflict.
Test: manual
PiperOrigin-RevId: 173298696
Change-Id: Id10ebe0bcf029e61f65cf6580c7198abd8395081
|
|
If a user made a search using the voice/mic icon, the search results weren't
being applied to on device contacts because SearchAdapter wasn't receiving the
query.
Bug: 67633975
Test: manual
PiperOrigin-RevId: 172540423
Change-Id: Ib92b055dddf4e4fbdf88eadd62583bf1bac32055
|
|
This change coalesces Cp2 contacts into a new cursor so that
they can be associated with the Company name. The following logs
can help explain how the data is organizes in the original cursor:
display Name (A Pixel), lookupKey (3535i7a9673fc89b77de3), mimeType (vnd.android.cursor.item/name), data1 (A Pixel)
display Name (A Pixel), lookupKey (3535i7a9673fc89b77de3), mimeType (vnd.android.cursor.item/note), data1 ()
display Name (A Pixel), lookupKey (3535i7a9673fc89b77de3), mimeType (vnd.android.cursor.item/group_membership), data1 (1)
display Name (A Pixel), lookupKey (3535i7a9673fc89b77de3), mimeType (vnd.android.cursor.item/phone_v2), data1 (+1 650-200-7932)
display Name (A Pixel), lookupKey (3535i7a9673fc89b77de3), mimeType (vnd.android.cursor.item/phone_v2), data1 (+1 540-555-6666)
display Name (A Pixel), lookupKey (3535i7a9673fc89b77de3), mimeType (vnd.android.cursor.item/organization), data1 (Walmart)
This is an example of what is returned for a single contact. We can easily
associate contact rows together using the lookup key and determine which
rows have relevant data by checking the mime type. I use the data here to
coalesce the contacts together into one row for easy parsing in ContactFilterCursor.
Rows with mime type phone_v2 contain contact information (for example, this
contact has 2 phone numbers).
Rows with mime type organization contain contact's company information (for
example, this contact works at Walmart).
Bug: 67675742,64894607,67848713
Test: existing + SCCT.filter_companyName
PiperOrigin-RevId: 172528797
Change-Id: I5c9f66ff0c27276869295eff97bb0216f92995be
|
|
Bug: 67709163
Test: NewSearchFragmentTest
PiperOrigin-RevId: 172378559
Change-Id: I2b92e1e06057a57638d23a333d04239b2e288bc1
|
|
Now that our Duo integration is public, we no longer need a code name.
To avoid any disruption, logging and config related names were not changed.
Bug: 63753964
Test: manual, existing tests
PiperOrigin-RevId: 172172738
Change-Id: Ib9d3d80761944d850c8c4886def9fef9a28539a4
|
|
- Dialpad now hides if user tries to scroll w/ a search query.
- Search now closes if the user touches the blank area w/o a search query.
- Since we don't even show location results in dialpad search,
we no longer request location permission in it.
Bug: 67657783,67656915
Test: tba
PiperOrigin-RevId: 172162620
Change-Id: I33a814797a053600e56fb163fd55b0c43e00a9c6
|
|
Bug: 67635072
Test: n/a
PiperOrigin-RevId: 171720799
Change-Id: Ie64f7daa071986b23653876172011d4f2343fc69
|
|
* Add missing assisted dialing to calls from contacts in the call log.
* Add missing assisted dialing to calls from dialpad and normal search.
Bug: 63995025,63995261
Test: unit test
PiperOrigin-RevId: 171593967
Change-Id: I4e63ef1dcd7ee1b2b5cbb8ecb4d8da744d90bd66
|
|
Documentation clearly states that cursor loaders will close all cursors for
you. This CL removes all calls to cursor.close() after onLoaderFinished is
called.
Bug: 66902052
Test: n/a
PiperOrigin-RevId: 171087171
Change-Id: If771fbea52e03ffdd3652af2699c393cc7424de3
|
|
Since lists are passed by reference, if the directory list passed into
RemoteContactsCursorLoader was modified before #lodInBackground was called, the
directory list would change and crash when compared to the list of cursors.
Since directory lists are small, there shouldn't be any memory issues with
copying the list.
Additionally, this CL adds some logging to the new Search Fragment.
Bug: 66902071,66902062
Test: RemoteContactsCursorLoaderTest
PiperOrigin-RevId: 171063035
Change-Id: Id2faa542805da4167fc7045e6fbe71d02c644ab6
|
|
screenshots
http://screen/d2qPOq3h1o1
http://screen/wHcnO5LXRO2
Bug: 65858857
Test: n/a
PiperOrigin-RevId: 169748652
Change-Id: Ie255f0d9be958f004c8bc9639d478553f66109d3
|
|
This change adds a dismiss button to the location permission prompt shown in
the search UI. A few other minor changes:
- Permission prompt is always the first element in the list
- Adjusted a few dimensions and strings
screenshot: http://screen/9CkRPUQ5dwh
Bug: 65858857
Test: SAT, NSFT
PiperOrigin-RevId: 169466585
Change-Id: I8177c23fe3f635fec5fdcdbe6675428cebb19f5d
|
|
This change adds a prompt inline the search fragment list view
to request the location permission (if they haven't already
granted it).
screenshot: http://screen/upu9t55mghq
Bug: 65858857
Test: NSFT, SAT, SCMT
PiperOrigin-RevId: 169447095
Change-Id: I6c312057ff3c4e2362ce21b0c57e1e5de7b25ce0
|
|
Test: TH
Change-Id: I48e807f3eafbc82401b2674a2610b20bf118c275
|
|
The underlying issue was that if a query was input that filtered out all of the
on device contacts, then the device rotated, the cursor would be reloaded with
all contacts filtered and getCount == 0. This would cause the cursor to never be
set in SearchCursorManager and on device contacts would no longer be shown
because the cursor wasn't being saved.
The reason this check was here, was because cursor headers were being managed
by SearchCursorManager. Since headers were moved into the cursors we no
longer need to set cursors to null if they are empty.
Bug: 65859191
Test: existing
PiperOrigin-RevId: 169425922
Change-Id: I0baf31c3747d679f394f3746f609b9487e52472d
|
|
Zero suggest in dialpad search clutters the UI and we shouldn't show and search
results until the user has input something into the dialpad.
Additionally, this change ensures the fab stays hidden through device rotation
in regular search.
Bug: 65858825
Test: implemented
PiperOrigin-RevId: 169270161
Change-Id: Ia08ce56ffd02f74ea9e4d9d8a1efc3726fcc66d9
|
|
This CL adds logic to persist the search query and call
initiation type through configuration changes like device
rotation.
list of bugs:
https://docs.google.com/document/d/1GajzkAqXXRqbj_-qeYeDxIKr0fPsSZC3nXhRkIQg5tE/edit#heading=h.bopot1qivvxg
Bug: 65751247
Test: NSFT
PiperOrigin-RevId: 169146766
Change-Id: I7a68c01d5698c07a362ad621642a9138fd9a9aaa
|
|
Test: manual
PiperOrigin-RevId: 168612783
Change-Id: I811133aee3301bac6936d5ba101719c30322d3be
|
|
Test: manual
PiperOrigin-RevId: 168427349
Change-Id: Ie58920b76266ebb298210b5faac8fcbda4dbcd15
|
|
Users can now create new contacts, add to existing contacts, send sms and make
ViLTE calls from dialpad search results.
screenshot: http://screen/7iR038nUvmh
from the bugbash:
11. Missing “Create new contact” “Add to a contact” “Send SMS” from search results with a phone number search
Bug: 64902476
Test: many
PiperOrigin-RevId: 167362073
Change-Id: I2f94d863035c119ec526e02e088992c618a858a9
|
|
screenshots:
default: http://screen/qEdB51A3PDn
zero-query: http://screen/qEBDg0auGA8
query: http://screen/SuLp2GwyvYr
Bug: 64806278
Test: manual
PiperOrigin-RevId: 167205946
Change-Id: I07563fd23801da8d9d2eb95f6d09a079474403eb
|
|
When the dialpad closes and we enter regular search, the fragment translates
downwards so the upper contact is not cropped. This resulted in the bottom
contact being cropped. Now the fragment translates and resizes so all contacts
fit in the provided space.
from the bugbash:
#20: last contact is hidden off screen when in regular search
screenshot: http://screen/vbduKLKKor2
Bug: 64902476,36880551
Test: manual
PiperOrigin-RevId: 167189351
Change-Id: I3ba5795ba4c2f781dc320add3928c5ad74070b46
|
|
There was an issue where businesses' and remote contacts' contact photos
wouldn't open contact cards correctly. The issue was rooted in the incorrect
contact uri being assigned to the quick contact badge.
from the bugbash:
16. Tap on business icon from search results says “ no application found” instead of opening the business info
17. Same as #16 but with contact from Directory Google.com - “The contact doesn’t exist” when tapping contact icon
Bug: 64902476
Test: existing
PiperOrigin-RevId: 167111016
Change-Id: I4b6f7ca812d2fc4dc220951e8c05db2c8b8d6114
|
|
Previously, Android's Dialer app was developed in an internal Google
source control system and only exported to public during AOSP drops.
The Dialer team is now switching to a public development model similar
to the telephony team.
This CL represents all internal Google changes that were committed to
Dialer between the public O release and today's tip of tree on internal
master. This CL squashes those changes into a single commit.
In subsequent changes, changes will be exported on a per-commit basis.
Test: make, flash install, run
Merged-In: I45270eaa8ce732d71a1bd84b08c7fa0e99af3160
Change-Id: I529aaeb88535b9533c0ae4ef4e6c1222d4e0f1c8
PiperOrigin-RevId: 167068436
|