Fixed
Status Update
Comments
uc...@google.com <uc...@google.com> #2
We use build flavours heavily with a lot of common code. The refactoring support in AS is really good but it continually catches us out when it doesn't work across all flavours in a project. It's a big gap for serious product development.
ar...@google.com <ar...@google.com> #3
We at my company need this same feature. We have a lot of white labels and need refactor the same class across flavours. :(
ff...@salesforce.com <ff...@salesforce.com> #4
I need this feature too...
ar...@google.com <ar...@google.com> #5
+1, I need this very badly
ta...@gmail.com <ta...@gmail.com> #6
+1 My company also need this feature.
am...@gmail.com <am...@gmail.com> #7
Can we atleast know the status of the issue please? Will it be fixed or is it in low priority. It's been 4 years.
be...@getbring.com <be...@getbring.com> #8
We are currently investigating possibly solutions.
ar...@google.com <ar...@google.com> #9
+1 This will exclude a lot of unnecessary work. In my work I have 25 flavours. :(
am...@gmail.com <am...@gmail.com> #11
Any update on this?
ma...@gmail.com <ma...@gmail.com> #12
We also need this feature...please...
Description
AI-171.4294784, JRE 1.8.0_152-release-915-b01x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.12.6 unknown, screens 2560x1440, 2560x1440
IMPORTANT: Please read
As of API 26, attempting to install and run an App that utilizes AccountManager for storing/retrieving authTokens results in a fatal exception. I tested on API 25 without any issue.
NOTE:
Adding a new Account via AccountManager is working fine, the exception only occurs when attempting to hit getAuthToken(...)
Steps to Reproduce:
1. Create an app that uses a custom AccountAuthenticator to store an auth token
2. Install and run on the primary device User account
3. Add a new device account and switch to that account
4. Attempt to install the same app
Unsuccessful attempts to resolve:
Tried adding android.permission.INTERACT_ACROSS_USERS to the Manifest, same error.
Error:
ContentSyncTask E EXCEPTION: Fatal error in ContentSyncTask.doAsyncSync()
E SUMMARY STACK:
E SecurityException: get package info: Neither user 1010134 nor current process has android.permission.INTERACT_ACROSS_USERS.
E at android.os.Parcel.readException(Parcel.java:1936)
E DETAIL STACK:
E SecurityException: get package info: Neither user 1010134 nor current process has android.permission.INTERACT_ACROSS_USERS.
E (java.lang.SecurityException)
E at android.os.Parcel.readException(Parcel.java:1936)
E at android.os.Parcel.readException(Parcel.java:1882)
E at android.accounts.IAccountManager$Stub$Proxy.getAuthToken(IAccountManager.java:1455)
E at android.accounts.AccountManager$11.doWork(AccountManager.java:1733)
E at android.accounts.AccountManager$AmsTask.start(AccountManager.java:2224)
E at android.accounts.AccountManager.getAuthToken(AccountManager.java:1730)
E at com.proscape.services.EntityServiceHelper.getAuthToken(EntityServiceHelper.java:203)
E at com.proscape.sync.ContentSyncTask$3.call(ContentSyncTask.java:233)
E at com.proscape.sync.ContentSyncTask$3.call(ContentSyncTask.java:206)
E at rx.Observable.unsafeSubscribe(Observable.java:10142)
E at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
E at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
E at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
E at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
E at rx.Observable.unsafeSubscribe(Observable.java:10142)
E at rx.internal.operators.OperatorSubscribeOn$1.call(OperatorSubscribeOn.java:94)
E at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
E at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
E at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
E at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
E at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
E at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
E at java.lang.Thread.run(Thread.java:764)