Age | Commit message (Collapse) | Author |
|
There's a problem with the existing implementation of RealtimeRowProcessor; when CP2 information is not present, data from other sources can potentially be erased.
This CL fixes the problem by fetching the latest data from all sources, instead of just CP2. This requires being able to fetch PhoneLookup info without a Call, using only a number, so I changed PhoneLookup#lookup to accept a DialerPhoneNumber rather than a Call.
(The reason that it accepted a Call was to support CNAP so we'll need a revised solution for that later.)
There is a potential concern with performance in RealtimeRowProcessor due to performing a full [Composite]PhoneLookup vs. a CP2 lookup, because the full lookup includes network requests. However, it's anticipated that the real time lookups will very rarely have changes to apply so this might be OK as-is. If not, a mitigation strategy could be improving the performance of CompositePhoneLookup#lookup by short-circutiing slower sources when faster, higher priority sources have already completed.
A follow-up CL will write the result of RealtimeRowProcessor queries to PhoneLookupHistory to further reduce how frequently real time updates need to be applied.
Bug: 72229553
Test: existing unit
PiperOrigin-RevId: 182839130
Change-Id: I8cb26827b4f4dc4702fb416234c8938179cd5ac5
|
|
DialerFutures#firstMatching now fails if one of its provided futures fails before a match is found.
This is to accomodate the case where no source returns true for isDirty, but one or more fail; we want to be notified of the failure in that case and not silently treat that case as not dirty.
Also fixed a bug in NewCallLogFragment where the failed future wasn't causing the application to crash.
Also improved some related logging in RefreshAnnotatedCallLogWorker and Cp2PhoneLookup, and fixed a bug where empty numbers were not being handled correctly.
Bug: 71504246
Test: unit
PiperOrigin-RevId: 181401710
Change-Id: I23e207ac334ff80ac95b08a8f4f775a528a8c511
|
|
Test: tap
PiperOrigin-RevId: 181196939
Change-Id: I97405c5356814fe3ad02d498cfa96c210921c477
|
|
Test: Existing tests
PiperOrigin-RevId: 180230450
Change-Id: I0b2589cfeeaef81e42a04efa48af24b4e4d0e95f
|
|
When launching MainActivity with the screen off (e.g. from Android Studio) the application would crash due to:
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
Also use FragmentPagerAdapter in MainPagerAdapter as the number of tabs is small and can be stored in memory.
Test: manual
PiperOrigin-RevId: 179734952
Change-Id: Ib2ca9674f3174493da55bbbf0ef4053fcf73ab47
|
|
When an activity is killed by the system, a new UiListener is created and attached, but it doesn't have its executor set. Rather than save it as an instance field, just get the Ui executor when needed, by passing the context to the listen method.
Bug: 70510707
Test: unit and manual via "don't keep activities" developer option
PiperOrigin-RevId: 178668338
Change-Id: I5360b525377edab5f3a117d1f0f50bf6da6a6f0c
|
|
Futures.submitAsync is V23 and AOSP is currently stuck at V20.
This is just a completely non-sensical dummy implementation of DialerFutureSerializer until we can figure out what to do.
Test: tap
PiperOrigin-RevId: 178323108
Change-Id: I1dc2c8ddfa7ef3e15170543dadefbe4fc2e19226
|
|
Use them where appropriate.
Bug: 34672501
Test: existing
PiperOrigin-RevId: 178182298
Change-Id: If454225e0d636c7cb14b5af02d46780d7732abf0
|
|
Bug: 34672501
Test: existing
PiperOrigin-RevId: 178038086
Change-Id: I1230992ad04bb4415f5a29bd15802d23dff88012
|
|
Copybara is fixed for AOSP export
Bug: 68665330
Test: rollback
PiperOrigin-RevId: 177480870
Change-Id: I0ba38e213bb840436fa6dafc4af0a79019ee93f4
|
|
This CL adds an executor which runs tasks on the Ui thread, using the existing
ThreadUtil class.
Bug: 67752611
Test: UiThreadExecutorTest
PiperOrigin-RevId: 175046280
Change-Id: Iff15e216be0e91891a9d63fddf1288ecbec41f83
|
|
IsDirty is implemented by (possibly in parallel) executing all child lookups, and completing as soon as the first lookup reports itself as dirty, cancelling other lookups upon completion.
If a lookup fails for some reason, it is treated as not being dirty.
This required adding a new method DialerFutures#firstMatching.
Bug: 34672501
Test: yes
PiperOrigin-RevId: 174261470
Change-Id: Icb4f7b5d9926094fc446542411d15d02a4b873a3
|
|
We now use dagger everywhere for consistency and explicitness.
Test: tap
PiperOrigin-RevId: 174071122
Change-Id: I15d2f8261a7b753353be9e7d3b80692aa0c1b64d
|
|
By always creating executor services via dagger, we can now bind special versions during espresso tests that can implement idling resources. We should be using idling resources during espresso tests for threads that we create ourselves, because espresso does not know about them.
Hopefully this reduces some of the flakiness of espresso tests that we have today.
This required converting all existing calls to DialerExecutors to pass a context used to fetch the component, and also required creating new application classes for espresso tests.
Test: temporarily added a task which just slept to DialtactsActivity and verified that its integration test failed due to idling resource timeout
PiperOrigin-RevId: 173334773
Change-Id: I876a93022d235d62cfc377bf5b06687e21a34758
|
|
This CL adds a method to DialerPhoneNumberUtil which returns a Future
holding the result of parsing a number into the DialerPhoneNumber proto.
This will be used in the APDL integration as it will use Futures as
well.
The CL also changes DialerExecutors.lowPriorityThreadPool to be an
ExecutorService instead of an Executor (the super type) so it can be
used in MoreExecutors.listeningDecorator.
Test: TAP
PiperOrigin-RevId: 171347542
Change-Id: I620aacf3304d625f57af6d2b89a36f11b44008dd
|
|
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
|
|
RC00 is based on:
branch: dialer-android_release_branch/153304843.1
synced to: 153304843
following the instructions at go/dialer-aosp-release.
In this release:
* Removes final apache sources.
* Uses native lite compilation.
More drops will follow with subsequent release candidates
until we reach our final v10 release, in cadence with our
prebuilt drops.
Test: TreeHugger, on device
Change-Id: Ic9684057230f9b579c777820c746cd21bf45ec0f
|
|
cl/152373142.
Test: make, treehugger
This CL updates the AOSP Dialer source with all the changes that have
gone into the private google3 repository. This includes all the
changes from cl/151342913 (3/27/2017) to cl/152373142 (4/06/2017).
This goal of these drops is to keep the AOSP source in sync with the
internal google3 repository. Currently these sync are done by hand
with very minor modifications to the internal source code.
See the Android.mk file for list of modifications.
Our current goal is to do frequent drops (daily if possible) and
eventually switched to an automated process.
Change-Id: I2fbc88cf6867b90ac8b65f75e5e34468988c7217
|
|
cl/151342913.
Test: make, treehugger
This CL updates the AOSP Dialer source with all the changes that have
gone into the private google3 repository. This includes all the
changes from cl/151128062 (3/24/2017) to cl/151342913 (3/27/2017).
This goal of these drops is to keep the AOSP source in sync with the
internal google3 repository. Currently these sync are done by hand
with very minor modifications to the internal source code.
See the Android.mk file for list of modifications.
Our current goal is to do frequent drops (daily if possible) and
eventually switched to an automated process.
Change-Id: I8d4855628b62e9067e71f32ed40317617a1e3b02
|
|
cl/151128062
Test: make, treehugger
This CL updates the AOSP Dialer source with all the changes that have
gone into the private google3 repository. This includes all the
changes from cl/150756069 (3/21/2017) to cl/151128062 (3/24/2017).
Notable this release:
- Explicitly enumerate host and target dependencies.
- Update proguard flag references.
This goal of these drops is to keep the AOSP source in sync with the
internal google3 repository. Currently these sync are done by hand
with very minor modifications to the internal source code.
See the Android.mk file for list of modifications.
Our current goal is to do frequent drops (daily if possible) and
eventually switched to an automated process.
Bug: 33210202 36511925
Addresses
33210202 - Proguard support
36511925 - Compiler warnings when building against platform sdk
Change-Id: I448ec3b3f2358886859cf7a4ef76a8fcef3244ae
|