Status Update
Comments
xi...@google.com <xi...@google.com>
rk...@google.com <rk...@google.com> #2
rk...@google.com <rk...@google.com> #3
1. Can you verify that this problem still occurs in beta03? This is available now.
2. Can you check your merged manifest has a network permission (ACCESS_NETWORK_STATE)? It should get merged in automatically.
rk...@google.com <rk...@google.com> #4
#2: I'll try...
rk...@google.com <rk...@google.com> #5
The way I'm getting logs is via a button in the widget configuration activity which runs the following:
Runtime.getRuntime().exec("logcat -f " + logFile + " *:V");
Is there a better way of getting logs from a user (where the user is not an advanced user and can only just about handle pressing a button and sending a text file)?
rk...@google.com <rk...@google.com> #6
Do I need to do anything special to make this work on Android 4.3?
rf...@gmail.com <rf...@gmail.com> #7
rk...@google.com <rk...@google.com> #8
be...@scandit.com <be...@scandit.com> #9
* Remove the default WorkManager initializer using:
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove"/>
* Initialize WorkManager in your own content provider or Application#onCreate() with a custom configuration
WorkManager.initialize(
applicationContext,
new Configuration.Builder().setMinimumLoggingLevel(Log.VERBOSE).build());
You will see a lot more WorkManager logs now.
rk...@google.com <rk...@google.com> #10
sa...@gmail.com <sa...@gmail.com> #11
rf...@gmail.com <rf...@gmail.com> #12
What is the user's 4.3 device name/model?
tr...@gmail.com <tr...@gmail.com> #13
WorkManager.initialize(
applicationContext,
new Configuration.Builder().setMinimumLoggingLevel(Log.VERBOSE).build());
The 'Builder' is highlighted in red with Cannot resolve symbol 'Builder'
rk...@google.com <rk...@google.com> #14
le...@gmail.com <le...@gmail.com> #15
rk...@google.com <rk...@google.com> #16
le...@gmail.com <le...@gmail.com> #17
rk...@google.com <rk...@google.com> #18
le...@gmail.com <le...@gmail.com> #19 Restricted
rk...@google.com <rk...@google.com> #20
Can you send us a trimmed down sample of how Workers are being enqueued for your app ?
le...@gmail.com <le...@gmail.com> #21
rk...@google.com <rk...@google.com> #22
static void schedulePeriodicWork(int appWidgetId, String trigger) {
Log.d(TAG, "schedulePeriodicWork for " + appWidgetId);
String name = getPeriodicName(appWidgetId);
long interval = getInterval();
Constraints constraints = getConstraints("periodic");
Data inputData = getPeriodicInputData(appWidgetId, trigger);
PeriodicWorkRequest workRequest = getPeriodicWorkRequest(appWidgetId, interval, constraints, inputData);
WorkManager workManager = WorkManager.getInstance();
workManager.enqueueUniquePeriodicWork(name, ExistingPeriodicWorkPolicy.REPLACE, workRequest);
}
private static String getPeriodicName(int appWidgetId) {
return "periodic-" + appWidgetId;
}
private static long getInterval() {
return 15 * 60 * 1000;
}
private static Constraints getConstraints(String method) {
Log.d(TAG, "creating Constraints for " + method);
Constraints.Builder constraintsBuilder = new Constraints.Builder();
Log.d(TAG, "adding network constraint");
constraintsBuilder.setRequiredNetworkType(NetworkType.CONNECTED);
return constraintsBuilder.build();
}
private static PeriodicWorkRequest getPeriodicWorkRequest(int appWidgetId, long interval, Constraints constraints, Data inputData) {
String workTag = getWorkTag(appWidgetId);
Log.d(TAG, "creating PeriodicWorkRequest with tag " + workTag + " and with interval " + interval + " ms");
PeriodicWorkRequest.Builder workRequestBuilder = new PeriodicWorkRequest.Builder(MeteogramWorker.class, interval, TimeUnit.MILLISECONDS);
workRequestBuilder.setConstraints(constraints);
workRequestBuilder.setInputData(inputData);
workRequestBuilder.addTag(workTag);
workRequestBuilder.addTag(PERIODIC);
return workRequestBuilder.build();
}
private static Data getPeriodicInputData(int appWidgetId, String trigger) {
Log.d(TAG, "creating Data");
Data.Builder dataBuilder = new Data.Builder();
dataBuilder.putInt(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
dataBuilder.putString(trigger);
dataBuilder.putString("method", "periodic");
return dataBuilder.build();
}
private static String getWorkTag(int appWidgetId) {
return "widget-" + appWidgetId;
}
sa...@gmail.com <sa...@gmail.com> #23
01-29 21:07:01.245 W/dalvikvm(29185): Unable to resolve superclass of Landroidx/work/impl/background/systemjob/SystemJobService; (90)
01-29 21:07:01.245 W/dalvikvm(29185): Link of class 'Landroidx/work/impl/background/systemjob/SystemJobService;' failed
01-29 21:07:01.245 E/dalvikvm(29185): Could not find class 'androidx.work.impl.background.systemjob.SystemJobService', referenced from method androidx.work.impl.Schedulers.createBestAvailableBackgroundScheduler
01-29 21:07:01.245 W/dalvikvm(29185): VFY: unable to resolve const-class 2971 (Landroidx/work/impl/background/systemjob/SystemJobService;) in Landroidx/work/impl/Schedulers;
01-29 21:07:01.345 W/dalvikvm(29185): Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (341)
01-29 21:07:01.345 W/dalvikvm(29185): Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
01-29 21:07:01.350 E/dalvikvm(29185): Could not find class 'androidx.work.impl.constraints.trackers.NetworkStateTracker$NetworkStateCallback', referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.<init>
01-29 21:07:01.350 W/dalvikvm(29185): VFY: unable to resolve new-instance 2994 (Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;) in Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
01-29 21:07:01.355 I/dalvikvm(29185): Could not find method android.net.ConnectivityManager.getActiveNetwork, referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.isActiveNetworkValidated
01-29 21:07:01.355 W/dalvikvm(29185): VFY: unable to resolve virtual method 1865: Landroid/net/ConnectivityManager;.getActiveNetwork ()Landroid/net/Network;
01-29 21:07:01.355 D/dalvikvm(29185): VFY: replacing opcode 0x6e at 0x000a
01-29 21:07:01.360 W/dalvikvm(29185): Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (341)
01-29 21:07:01.360 W/dalvikvm(29185): Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
01-29 21:07:01.360 I/dalvikvm(29185): Could not find method android.net.ConnectivityManager.registerDefaultNetworkCallback, referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.startTracking
01-29 21:07:01.360 W/dalvikvm(29185): VFY: unable to resolve virtual method 1871: Landroid/net/ConnectivityManager;.registerDefaultNetworkCallback (Landroid/net/ConnectivityManager$NetworkCallback;)V
01-29 21:07:01.365 W/dalvikvm(29185): Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (341)
01-29 21:07:01.365 W/dalvikvm(29185): Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
01-29 21:07:01.365 I/dalvikvm(29185): Could not find method android.net.ConnectivityManager.unregisterNetworkCallback, referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.stopTracking
01-29 21:07:01.365 W/dalvikvm(29185): VFY: unable to resolve virtual method 1872: Landroid/net/ConnectivityManager;.unregisterNetworkCallback (Landroid/net/ConnectivityManager$NetworkCallback;)V
01-29 21:07:01.365 D/dalvikvm(29185): VFY: replacing opcode 0x6e at 0x0018
01-29 21:07:01.370 W/dalvikvm(29185): Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (341)
01-29 21:07:01.370 W/dalvikvm(29185): Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
01-29 21:07:01.370 D/dalvikvm(29185): DexOpt: unable to opt direct call 0x593e at 0x17 in Landroidx/work/impl/constraints/trackers/NetworkStateTracker;.<init>
le...@gmail.com <le...@gmail.com> #24
01-29 21:11:33.875 D/Meteogram_ConfigActvty(29556): ********** LOG OF WORK QUEUE **********
01-29 21:11:34.175 D/Meteogram_Worker(29556): workInfo: WorkInfo{mId='8eaea234-7001-479e-ae88-2d628f57a62b', mState=ENQUEUED, mOutputData=androidx.work.Data@0, mTags=[widget-43443, com.cloud3squared.meteogram.MeteogramWorker, periodic]}
01-29 21:11:34.175 D/Meteogram_Worker(29556): workInfo: WorkInfo{mId='c43771c7-6b71-49fb-a2ee-c8486b37b798', mState=SUCCEEDED, mOutputData=androidx.work.Data@0, mTags=[widget-43443, com.cloud3squared.meteogram.MeteogramWorker, onetime]}
01-29 21:11:34.175 D/Meteogram_ConfigActvty(29556): ********** END OF WORK QUEUE **********
The above is logged by the following function, with the widget id passed in to get the tag (same method as in previous post), and filtering the work on this tag:
static void logWorkQueue(int appWidgetId) {
String tag = getWorkTag(appWidgetId);
WorkManager workManager = WorkManager.getInstance();
ListenableFuture<List<WorkInfo>> workInfos = workManager.getWorkInfosByTag(tag);
try {
List<WorkInfo> workInfoList = workInfos.get();
for (WorkInfo workInfo : workInfoList) {
Log.d(TAG, "workInfo: " + workInfo.toString());
}
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
le...@gmail.com <le...@gmail.com> #25
rk...@google.com <rk...@google.com> #26
I have a pending CL as well. It should be fixed in the next beta.
le...@gmail.com <le...@gmail.com> #27
Any ETA on the next beta?
Keep up the good work on this really useful library!
rk...@google.com <rk...@google.com> #28
Branch: androidx-master-dev
commit 177837514245d5bb24cc8e9bc27f20503e23e308
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Tue Jan 29 17:50:14 2019
Fixes ConstraintsCommandHandler that correctly enables and disables proxies.
* ConstraintsCommandHandler was only looking at work that was eligible to be scheduled.
This is incorrect, as we may have Workers that are scheduled, but are pending execution due
to an unmet constraint. We need to look at all scheduled work which is unfinished.
* The only reason why this worked before with integration tests was due to one of 2 reasons:
* The process was in the foreground anyway, and there was an active WorkConstraintTracker.
* Enabling / disabling airplane mode (to test Network Constraints) would have caused a
TIME_SET broadcast in some cases where we reschedule everything (RescheduleReceiver).
Test: Updated SystemAlarmDispatcherTests & integration tests on API 22 with the Battery charging
Constraint that has no other side effects.
Change-Id: Ib973931b47be915dd8f533e1e651b6c1a29843f9
Fixes:
M work/workmanager/src/androidTest/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcherTest.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemalarm/ConstraintsCommandHandler.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemalarm/RescheduleReceiver.java
M work/workmanager/src/main/java/androidx/work/impl/model/WorkSpecDao.java
ru...@gmail.com <ru...@gmail.com> #29
ru...@gmail.com <ru...@gmail.com> #30 Restricted
rk...@google.com <rk...@google.com> #31
ru...@gmail.com <ru...@gmail.com> #32
Are the tests you ran when fixing this before still working? Or has something subsequently messed it up? Or maybe I'm seeing another issue altogether.
rk...@google.com <rk...@google.com> #33
rf...@gmail.com <rf...@gmail.com> #34
tr...@gmail.com <tr...@gmail.com> #35
rk...@google.com <rk...@google.com> #36
jp...@google.com <jp...@google.com> #37
02-15 17:37:31.535 D/My_Worker(11599): workInfo: WorkInfo{mId='00db2ea7-07d6-42a1-a506-a26ff8e3217d', mState=ENQUEUED, mOutputData=androidx.work.Data@0, mTags=[com.example.myapp.MyWorker, widget-43806, periodic]}
02-15 17:37:31.535 D/My_Worker(11599): workInfo: WorkInfo{mId='08bce448-5d4a-4a17-89d2-6fdce6ef1091', mState=SUCCEEDED, mOutputData=androidx.work.Data@0, mTags=[com.example.myapp.MyWorker, widget-43806, backstop]}
And the only reason I can even tell if the work item is periodic or not is because I tag it with 'periodic' if it is. Otherwise, all I get is a work ID and a state... would be really handy to know when it last ran, when it is due to run next, etc. Would be very useful not least for debugging purposes.
As suggested:
rf...@gmail.com <rf...@gmail.com> #38
rk...@google.com <rk...@google.com> #39
It always goes back to ENQUEUED for the next interval.
rf...@gmail.com <rf...@gmail.com> #40
rk...@google.com <rk...@google.com> #41
sk...@gmail.com <sk...@gmail.com> #42
rk...@google.com <rk...@google.com> #43
sk...@gmail.com <sk...@gmail.com> #44
rf...@gmail.com <rf...@gmail.com> #45
rk...@google.com <rk...@google.com> #46
rk...@google.com <rk...@google.com> #47
rk...@google.com <rk...@google.com> #48
There seems to be lots of "D/WM-" stuff in there that refers to constraints... hopefully something of interest.
an...@biomatrixci.com <an...@biomatrixci.com> #49
To see if it made a difference, I went back to NOT using a flexInterval, i.e. using:
workRequestBuilder = new PeriodicWorkRequest.Builder(MeteogramWorker.class, interval, TimeUnit.MILLISECONDS);
INSTEAD of:
workRequestBuilder = new PeriodicWorkRequest.Builder(MeteogramWorker.class, interval, TimeUnit.MILLISECONDS, flexInterval, TimeUnit.MILLISECONDS);
And without using flexInterval, behaviour seems to be FAR more reliable so far. The periodic work (with network constraint) has so far survived some degree of testing (on the user device): letting the periodic work fire a few times, then turning off network for one or more scheduled firings, then network back on... and each time so far the "missed" work runs straight away.
It's far from an extensive test yet, but it seems like it can't be coincidence... the above change (to NOT use flexInterval) is all I've changed, and it is performing better so far.
After *this current* issue (i.e. #123379508) was marked fixed on 30 Jan, a change was made to WorkManager flexInterval behaviour on 13 Feb as per the following:
Would it have anything to do with that? Between #123379508 being fixed (30 Jan) and #124274584 being fixed (13 Feb), I think that things were going well. It seemed to be after #124274584 was fixed that things went downhill again. Again, I can't be certain, but it's a lead anyway.
P.S. the only reason I started using flexInterval in the first place was to address the issue reported here:
cl...@gmail.com <cl...@gmail.com> #50
rk...@google.com <rk...@google.com> #51
02-17 14:02:25.255 D/WM-ConstraintTracker( 1608): NetworkStateTracker: initial state = [ Connected=false Validated=false Metered=false NotRoaming=false ]. This happens twice, like you described.
This is expected behavior. I think your disabling of flex has nothing to do with why the Worker was running when you had flex. I think the device does not have access to a reliable network as far as I can tell.
rk...@google.com <rk...@google.com> #52
And how do you explain why NOT specifying a flexInterval results in completely reliable periodic behaviour? While specifying a flexInterval makes it fall apart?
I don't follow your comment about expected behaviour... in the period of the logs, the device had no WiFi for at least two expected periodic runs, but didn't run because there was no network. That's expected behaviour, yes. What is not expected is that even when network was restored, the work did not run, ever again. That is when specifying a flexInterval.
But when not specifying a flexInterval, it all works smoothly... that doesn't make sense does it?
Am getting reports in now from said user... it's running like clockwork with the version that doesn't specify flexInterval when setting up the periodic work request.
an...@biomatrixci.com <an...@biomatrixci.com> #53
There is absolutely no difference in how constraints are handled.
Also, from the logs that you attached, it is clear that the device was not connected to a network. That's what I am basing this on. (NetworkStateTracker: initial state = [ Connected=false Validated=false Metered=false NotRoaming=false ]).
If you still think there might be something else going on, I think the best thing to do is to send us a sample app to reproduce this on our end.
cl...@gmail.com <cl...@gmail.com> #54
But there is a third one, later, that says "Connected=true":
02-17 14:40:50.345 D/WM-ConstraintTracker( 3798): NetworkStateTracker: initial state = [ Connected=true Validated=false Metered=false NotRoaming=true ]
And then immediately after:
02-17 14:40:50.345 D/WM-WorkConstraintsTrack( 3798): Constraints met for 635bfec6-81c9-499a-a9d2-5e273f07573c
So why did the work not run?
rk...@google.com <rk...@google.com> #55
an...@biomatrixci.com <an...@biomatrixci.com> #56
rk...@google.com <rk...@google.com> #57
02-20 10:28:12.735 D/WM-ConstraintProxy( 1227): onReceive : Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x8000010 cmp=com.cloud3squared.meteogram.devpro/androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy (has extras) }
02-20 10:28:14.770 D/WM-ConstraintTracker( 1227): NetworkStateTracker: initial state = [ Connected=true Validated=false Metered=false NotRoaming=true ]
02-20 10:28:14.815 D/WM-WorkConstraintsTrack( 1227): Constraints met for 5d210711-4c14-43cb-b6ea-2a6de910d76a
And yet, after this, the work doesn't run... there are no log entries from the startWork() function of the associated Worker.
rk...@google.com <rk...@google.com> #58
I am marking this as "fixed" for our internal release process. We are still looking into it. The changes should be available in 34.1.7 (canary) and 33.1.21 (stable).
in...@gmail.com <in...@gmail.com> #59
For anyone wondering how to do implement this fix, follow the instructions in post #39 above. Download the file and follow the instructions in post #39 (do not just unzip the file!). Go into the unzipped folder and copy the 'emulator' folder to Users/<user>/Library/Android/sdk overwriting the existing 'emulator' folder.
When you launch Android Studio and start a new emulator it will be using the fixed version. However, if you check under Tools > SDK Manger you will not see the emulator installed (this is due to using the version provided above), ignore this.
I can confirm that I had the original issue before overwriting the 'emulator' folder, and now, I do not have the original issue any longer. Camera now works.
an...@biomatrixci.com <an...@biomatrixci.com> #60
#56 is due to running emulator as standalone as described in #41 and it may not have the necessary camera permission.
Thank you for the prompt response.
fu...@gmail.com <fu...@gmail.com> #61
kr...@gmail.com <kr...@gmail.com> #62
But the emulator is crashing again when using Webcam0 on 34.1.8 (Canary)
This is one report ID for it:
4b297feadfa6737b
ch...@vanoijen.eu <ch...@vanoijen.eu> #63
in...@gmail.com <in...@gmail.com> #64
vi...@gmail.com <vi...@gmail.com> #65
I use macbook pro m2 sonoma.
pa...@gmail.com <pa...@gmail.com> #66
rk...@google.com <rk...@google.com> #67
The Emulator is release independently from the Android Studio. This fix is available in the Emulator 34.1.11 which is shipped with the Android Studio Iguana (2023.2.1 Canary 14).
in...@gmail.com <in...@gmail.com> #68
Perhaps this can be considered, as otherwise it is confusing how it is independent for those of us that wish to stay on our current version of Android Studio for various other reasons.
rk...@google.com <rk...@google.com> #69
If the Emulator is released independently, I would expect that it would also be updated in SDK Manager for prior versions of Android Studio, no?
We ship the emulator through several channels (stable, canary, beta), if you are on the stable channel, you will get the emulator updates later. Consider getting
ta...@honestbank.com <ta...@honestbank.com> #70
The fix does work with the actual webcam but it BREAKS the virtual webcam. Here's the error message:
ERROR | -[MacCamera captureOutput:didOutputSampleBuffer:fromConnection:]: error in allocate rotateInputBuffer_: -21602
ERROR | -[MacCamera captureOutput:didOutputSampleBuffer:fromConnection:]: error in allocate rotateInputBuffer_: -21602
(127x)
ERROR | _camera_client_query_frame: Unable to obtain first video frame from the camera '7626645E-4425-469E-9D8B-97E0FA59AC75' in 2001 milliseconds: Undefined error: 0.
Please help take a look
do...@gmail.com <do...@gmail.com> #71
Also got the same error as above comment. The 34.1.11 breaks emulator with virtual cam on Sonoma.
ve...@google.com <ve...@google.com> #74
OS: Mac M1(Sonoma 14.1.2).
Emulator Version: 34.1.13-11169323
API: API 33, 34
rk...@google.com <rk...@google.com> #75
This one works, thank you! Will this new version be released anytime soon?
Please try our latest stable push (33.1.23).
ti...@gmail.com <ti...@gmail.com> #76
All of a sudden, with the 33.1.23 version, I cannot record the screen anymore in Android Studio in mp4 format. It produces a 11 KB file whatever I do. Does anyone else experience this problem? Thanks!
rk...@google.com <rk...@google.com> #77
Hi Timar, please file a new bug with repro steps and screenshots. Please specify the Android Studio version, the Emulator version and the system image you use.
li...@getstream.io <li...@getstream.io> #78
ti...@gmail.com <ti...@gmail.com> #79
rk...@google.com <rk...@google.com> #80
Timar, file a new bug into the Android Studio component.
in...@gmail.com <in...@gmail.com> #81
I am forced to use other devices as the performance is so poor after the camera opens. Unfortunately it is not possible to use just macOS any longer to work on Android/Flutter projects because of this.
It's been a couple months so I am very hopeful I am just missing the fix?
Thank you for the hard work.
ar...@rexel.com <ar...@rexel.com> #82
rk...@google.com <rk...@google.com> #83
You can try the latest Emulator version from
If the performance is still bad, you could try fixing this yourself and send us your patch. The Emulator is open source, this is what we changed:
in...@gmail.com <in...@gmail.com> #84
I wish this was my area of expertise. Hopefully someone with the capability will work on this, it's extremely significant for Android Studio on macOS obviously.
in...@gmail.com <in...@gmail.com> #85
Unfortunate.
lu...@gmail.com <lu...@gmail.com> #86
rk...@google.com <rk...@google.com> #87
still poor performance after opening camera.
Hi industrialstrengthdatasystems, if you can build Emulator yourself, please try this patch:
rk...@google.com <rk...@google.com> #88
luunguyen0811, this is tracked in
bi...@gmail.com <bi...@gmail.com> #91
Downgrading to Ventura solves this problem, but it's not an ideal solution.
rk...@google.com <rk...@google.com> #92
Hi bien2k4. Unfortunately, MacOS camera experts are in short supply here :) Thank you for reporting that the issue does not repro on Ventura.
rk...@google.com <rk...@google.com> #93
BTW, the camera performance issue is tracked here:
Description
Android studio emulator crashes when i open camera app when webcam0 is enabled iam using macOS Sonoma part of my catalog below device VINTF manifest. "09-28 17:36:47.910 354 354 I RefreshRateSelector: Display 4619827259835644672 policy changed 09-28 17:36:47.910 354 354 I RefreshRateSelector: Previous: {defaultModeId=0, allowGroupSwitching=false, primaryRanges={physical=[0.00 Hz, inf Hz], render=[0.00 Hz, 60.00 Hz]}, appRequestRanges={physical=[0.00 Hz, inf Hz], render=[0.00 Hz, inf Hz]}} 09-28 17:36:47.910 354 354 I RefreshRateSelector: Current: DisplayManagerPolicy{defaultModeId=0, allowGroupSwitching=false, primaryRanges={physical=[60.00 Hz, inf Hz], render=[60.00 Hz, 60.00 Hz]}, appRequestRanges={physical=[60.00 Hz, inf Hz], render=[60.00 Hz, 60.00 Hz]}} 09-28 17:36:47.910 354 354 I RefreshRateSelector: 0 mode changes were performed under the previous policy 09-28 17:36:47.911 316 375 I Gralloc4: mapper 4.x is not supported"
I tried to reinstall nothing worked iam using lates android studio Android Studio Giraffe | 2022.3.1 Patch 1 Build #AI-223.8836.35.2231.10671973, built on August 17, 2023 Runtime version: 17.0.6+0-17.0.6b829.9-10027231 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 14.0 GC: G1 Young Generation, G1 Old Generation Memory: 1280M Cores: 8 Metal Rendering is ON Registry: external.system.auto.import.disabled=true ide.text.editor.with.preview.show.floating.toolbar=false