Perubahan framework kompatibilitas (Android–15)

Gambar 1. Layar Perubahan Kompatibilitas Aplikasi di opsi developer mencantumkan perubahan yang dapat Anda ubah.

Halaman ini menjelaskan perubahan yang dapat diganti statusnya sebagai bagian dari framework kompatibilitas di Android 15 (API level 35). Gunakan daftar ini bersama dengan opsi developer dan perintah ADB untuk menguji dan men-debug aplikasi saat Anda bersiap untuk mendukung dan menargetkan Android 15.

Beberapa hal yang dapat Anda lakukan menggunakan alat framework kompatibilitas:

  • Menguji perubahan yang ditargetkan tanpa benar-benar mengubah targetSdkVersion aplikasi. Anda dapat menggunakan tombol alih untuk mengaktifkan paksa setiap perubahan perilaku yang ditargetkan, guna mengevaluasi dampaknya terhadap aplikasi yang ada.
  • Memfokuskan pengujian pada perubahan tertentu. Dengan tombol alih ini, Anda dapat menonaktifkan beberapa perubahan yang ditargetkan, sehingga dapat melakukan pengujian sesuai kebutuhan tanpa perlu menangani semua perubahan yang ditargetkan sekaligus.
  • Mengelola tombol alih melalui adb. Anda dapat menggunakan perintah adb untuk mengaktifkan atau menonaktifkan perubahan yang dapat diganti statusnya di lingkungan pengujian otomatis.
  • Men-debug lebih cepat menggunakan ID perubahan standar. Setiap perubahan yang dapat diganti statusnya memiliki ID dan nama unik yang dapat Anda gunakan untuk men-debug root masalah dalam output log dengan cepat.

Untuk mengetahui detail lengkap penggunaan fitur untuk setiap kasus penggunaan tersebut, lihat Alat framework kompatibilitas.

Perubahan perilaku yang disertakan dalam framework kompatibilitas

Daftar di bagian ini menjelaskan perubahan yang dapat diganti statusnya dan disertakan dalam framework kompatibilitas untuk perubahan terkait Android 15 dan perubahan yang dapat diganti statusnya yang dapat membantu pengujian aplikasi umum.

Anda dapat memfilter daftar perubahan menurut Status Defaultnya.

Perubahan yang dapat dialihkan dalam framework kompatibilitas di Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID Perubahan: 162547999
Status Default: Dinonaktifkan untuk semua aplikasi.

Menunjukkan bahwa perangkat ini mendukung indikator kamera dan mikrofon. Nilainya adalah false jika ada, karena metode CompatChanges#isChangeEnabled menampilkan true jika ID Perubahan tidak ada.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

ID Perubahan: 320741775
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, isSessionConfigurationSupported juga memeriksa kompatibilitas parameter sesi jika didukung oleh HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

ID Perubahan: 296478951
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, pembuat PendingIntent akan memblokir aktivitas latar belakang yang diluncurkan secara default.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian halaman perubahan perilaku Android 15 tentang Peluncuran aktivitas latar belakang yang aman.

DEPRECATE_UI_FONT

ID Perubahan: 279646685
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, atribut elegantTextHeight TextView menjadi true secara default saat aplikasi Anda berjalan di perangkat dengan Android 15 atau yang lebih baru, menggantikan font ringkas yang digunakan secara default dengan beberapa skrip yang memiliki metrik vertikal besar dengan font yang jauh lebih mudah dibaca.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 15 tentang default atribut eleganTextHeight default ke true.

DOWNSCALED

ID Perubahan: 168419799
Status Default: Dinonaktifkan untuk semua aplikasi.

Perubahan ini adalah gerbang untuk semua perubahan penurunan skala buffering per aplikasi. Mengaktifkan perubahan ini memungkinkan faktor penskalaan berikut untuk diterapkan:

Jika perubahan ini diaktifkan untuk paket aplikasi, ukuran aplikasi akan diubah secara paksa ke faktor penskalaan tertinggi yang diaktifkan. Misalnya, 80% digunakan jika 80% dan 70% (DOWNSCALE_80 dan DOWNSCALE_70) diaktifkan. Jika perubahan ini dan DOWNSCALED_INVERSE diaktifkan, DOWNSCALED_INVERSE akan diprioritaskan dan faktor penskalaan diterapkan secara terbalik.

DOWNSCALED_INVERSE

ID Perubahan: 273564678
Status Default: Dinonaktifkan untuk semua aplikasi.

Perubahan ini adalah gerbang untuk semua perubahan penurunan skala terbalik buffer per aplikasi. Dengan mengaktifkan perubahan ini, faktor penskalaan berikut dapat diterapkan secara terbalik (yaitu, resolusi akan ditingkatkan):

Jika perubahan ini diaktifkan untuk paket aplikasi, ukuran aplikasi akan diubah secara paksa ke faktor penskalaan terendah yang diaktifkan. Misalnya, 80% digunakan jika 80% dan 70% (DOWNSCALE_80 dan DOWNSCALE_70) diaktifkan karena jika diterapkan secara terbalik, faktor penskalaan 80% sama dengan 125%, yang kurang dari penskalaan 142,86% yang diterapkan ketika menerapkan faktor penskalaan 70% kebalikannya. Jika perubahan ini dan DOWNSCALED diaktifkan, DOWNSCALED_INVERSE akan diprioritaskan dan faktor penskalaan diterapkan secara terbalik.

DOWNSCALE_30

ID Perubahan: 189970040
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 30% resolusi vertikal dan horizontal dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 333,33% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_35

ID Perubahan: 189969749
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 35% resolusi vertikal dan horizontal dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 285,71% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_40

ID Perubahan: 189970038
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 40% resolusi vertikal dan horizontal dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 250% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_45

ID Perubahan: 189969782
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 45% resolusi vertikal dan horizontal dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 222,22% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_50

ID Perubahan: 176926741
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 50% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 200% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_55

ID Perubahan: 189970036
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 55% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 181,82% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_60

ID Perubahan: 176926771
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 60% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 166,67% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_65

ID Perubahan: 189969744
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 65% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 153,85% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_70

ID Perubahan: 176926829
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 70% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 142,86% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_75

ID Perubahan: 189969779
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 75% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 133,33% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_80

ID Perubahan: 176926753
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 80% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 125% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_85

ID Perubahan: 189969734
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 85% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 117,65% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_90

ID Perubahan: 182811243
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 90% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 111,11% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

ID Perubahan: 202956589
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, saat menggunakan Arrays.asList(...).toArray(), jenis komponen dari array yang dihasilkan sekarang adalah Object—bukan jenis elemen array dasar. Jadi, kode berikut akan menampilkan ClassCastException:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

Dalam hal ini, guna mempertahankan String sebagai jenis komponen dalam array yang dihasilkan, Anda dapat menggunakan Collection.toArray(Object[]) sebagai gantinya:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 15 tentang Perubahan OpenJDK 17.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

ID Perubahan: 324203798
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, untuk mencegah masalah kompatibilitas aplikasi yang ada dengan penggunaan ClientTransaction#getActivityToken() non-SDK, hanya izinkan pemaketan LaunchActivityItem.

ENABLE_MATCH_LOCAL_NETWORK

ID Perubahan: 319212206
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, aplikasi menerima callback jaringan dari jaringan lokal secara default. Aplikasi yang menargetkan Android 14 (level API 34) atau yang lebih rendah masih harus menambahkan NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK ke NetworkCapabilities dari NetworkRequest untuk menerima ConnectivityManager.NetworkCallback dari jaringan lokal.

ENABLE_STRICT_FORMATTER_VALIDATION

ID Perubahan: 270674727
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, validasi indeks argumen, flag, lebar, dan presisi kini akan lebih ketat saat menggunakan API String.format() dan Formatter.format().

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 15 tentang Perubahan OpenJDK 17.

ENFORCE_EDGE_TO_EDGE

ID Perubahan: 309578419
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, aplikasi akan ditampilkan di layar penuh secara default di perangkat yang menjalankan Android 15 atau yang lebih tinggi.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 15 tentang Penerapan edge-to-edge.

ENFORCE_STRICT_QUERY_BUILDER

ID Perubahan: 143231523
Status Default: Dinonaktifkan untuk semua aplikasi.

Saat dinonaktifkan, SQLiteQueryBuilder akan memverifikasi semua pilihan kueri CalendarProvider2 terhadap argumen berbahaya.

FGS_BOOT_COMPLETED_RESTRICTIONS

ID Perubahan: 296558535
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, latar belakang layanan latar depan akan dinonaktifkan dimulai dari siaran BOOT_COMPLETED untuk semua jenis, kecuali:

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian halaman perubahan perilaku Android 15 tentang Pembatasan pada penerima siaran BOOT_COMPLETED yang meluncurkan layanan latar depan.

FGS_INTRODUCE_TIME_LIMITS

ID Perubahan: 317799821
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, jenis layanan latar depan tertentu akan memiliki batas waktu. Jika layanan latar depan jenis yang melanggar tidak dihentikan dalam batas waktu yang dialokasikan, layanan tersebut akan menerima callback menggunakan Service.onTimeout(int, int) dan kemudian harus dihentikan dalam beberapa detik. Jika aplikasi gagal melakukannya, aplikasi akan dideklarasikan sebagai ANR.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian halaman perubahan perilaku Android 15 tentang perilaku waktu tunggu untuk sinkronisasi data dan pemrosesan media jenis layanan latar depan.

FGS_SAW_RESTRICTIONS

ID Perubahan: 319471980
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, latar belakang layanan latar depan akan dinonaktifkan di Jendela Notifikasi Sistem untuk semua jenis kecuali jika latar belakang tersebut telah memiliki Jendela Overlay Sistem.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian halaman perubahan perilaku Android 15 tentang Pembatasan memulai layanan latar depan saat aplikasi memiliki izin SYSTEM_ALERT_WINDOW.

FORCE_DISABLE_HEVC_SUPPORT

ID Perubahan: 174227820
Status Default: Dinonaktifkan untuk semua aplikasi.

Menonaktifkan aplikasi secara paksa agar tidak mendukung kemampuan media HEVC. Aplikasi harus menyatakan kemampuan media yang didukung dalam manifesnya, tetapi tanda ini dapat digunakan untuk memaksa aplikasi agar tidak mendukung HEVC sehingga memaksa transcoding saat mengakses media yang dienkode di HEVC. Menyetel tanda ini akan mengganti default tingkat OS untuk aplikasi. Fitur ini dinonaktifkan secara default, yang berarti setelan default OS lebih diutamakan. Jika tanda ini dan FORCE_ENABLE_HEVC_SUPPORT diaktifkan, OS akan mengabaikan kedua tanda.

FORCE_ENABLE_HEVC_SUPPORT

ID Perubahan: 174228127
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan aplikasi secara paksa untuk mendukung kemampuan media HEVC. Aplikasi harus menyatakan kemampuan media yang didukung dalam manifesnya, tetapi tanda ini dapat digunakan untuk memaksa aplikasi agar mendukung HEVC sehingga menghindari transcoding saat mengakses media yang dienkode di HEVC. Menyetel tanda ini akan mengganti default tingkat OS untuk aplikasi. Opsi ini dinonaktifkan secara default, yang berarti default OS akan lebih diutamakan. Jika flag ini dan FORCE_DISABLE_HEVC_SUPPORT diaktifkan, OS akan mengabaikan kedua flag tersebut.

FORCE_NON_RESIZE_APP

ID Perubahan: 181146395
Status Default: Dinonaktifkan untuk semua aplikasi.

Memaksa paket yang diterapkan agar ukurannya tidak dapat diubah.

FORCE_RESIZE_APP

ID Perubahan: 174042936
Status Default: Dinonaktifkan untuk semua aplikasi.

Memaksa paket yang diterapkan agar ukurannya dapat diubah. Pengubahan ukuran hanya diizinkan dalam mode jendela layar penuh, tetapi tidak memaksa aplikasi masuk ke mode multi-aplikasi yang dapat diubah ukurannya.

GWP_ASAN

ID Perubahan: 145634846
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan deteksi bug memori native yang diambil sampelnya dalam aplikasi.

Untuk mempelajari lebih lanjut cara menggunakan GWP-ASan, lihat panduan GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

ID Perubahan: 307233716
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, metode isDeviceOwnerApp(String) akan menggunakan pengguna yang ada dalam konteks. Untuk aplikasi yang menargetkan Android 14 (level API 34) atau yang lebih rendah, pengguna proses panggilan akan digunakan (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

ID Perubahan: 308670109
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, aplikasi tidak dapat lagi mengubah status atau kebijakan global mode Jangan Ganggu (DND) di perangkat (baik dengan mengubah setelan pengguna, atau menonaktifkan mode DND). Sebagai gantinya, aplikasi harus berkontribusi pada AutomaticZenRule, yang digabungkan oleh sistem ke dalam kebijakan global dengan skema kemenangan kebijakan yang paling ketat yang sudah ada.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian halaman perubahan perilaku Android 15 tentang Perubahan terkait kapan aplikasi dapat mengubah status global mode Jangan Ganggu.

NATIVE_HEAP_ZERO_INIT

ID Perubahan: 178038272
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan inisialisasi nol otomatis alokasi memori heap native.

NATIVE_MEMTAG_ASYNC

ID Perubahan: 145772972
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan pemeriksaan tag memori asinkron (ASYNC) dalam proses ini. Tanda ini hanya memengaruhi hardware yang mendukung Ekstensi Pemberian Tag Memori (MTE) ARM.

NATIVE_MEMTAG_SYNC

ID Perubahan: 177438394
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan pemeriksaan tag memori sinkron (SINKRONISASI) dalam proses ini. Tanda ini hanya memengaruhi hardware yang mendukung Ekstensi Pemberian Tag Memori (MTE) ARM. Jika NATIVE_MEMTAG_ASYNC dan opsi ini diaktifkan, opsi ini akan diprioritaskan dan MTE akan diaktifkan dalam mode SYNC.

OVERRIDE_ANY_ORIENTATION

ID Perubahan: 265464455
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini memungkinkan penggantian orientasi berikut diterapkan, terlepas dari orientasi yang diminta oleh aktivitas:

OVERRIDE_ANY_ORIENTATION_TO_USER

ID Perubahan: 310816437
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, aktifkan SCREEN_ORIENTATION_USER, yang akan menggantikan orientasi apa pun yang diminta oleh aktivitas. Perbaikan aplikasi orientasi dapat diganti ke layar penuh di perangkat layar besar dengan ignoreOrientationRequest yang diaktifkan dengan penggantian ini.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

ID Perubahan: 314961188
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, akan mengecualikan paket yang menerapkan penggantian dari perlakuan kompatibilitas kamera dalam mode windowing bentuk bebas untuk aplikasi orientasi tetap.

Dalam mode windowing bentuk bebas, perlakuan kompatibilitas mengemulasikan yang berjalan pada perangkat potret dengan tampilan lebar jendela aplikasi dan mengubah karakteristik kamera ke yang biasanya diharapkan aplikasi di perangkat potret: rotasi sensor 90 dan 270 derajat untuk kamera belakang dan depan, dan mengatur rotasi layar ke 0.

Gunakan tanda ini untuk menonaktifkan perlakuan kompatibilitas untuk aplikasi yang tidak merespons perlakuan dengan baik.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID Perubahan: 191514214
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini akan memaksa paket yang diterapkan untuk mengabaikan nilai saat ini android:resizeableActivity serta SDK target yang sama dengan atau lebih rendah dari Android 6.0 (level API 23) dan menganggap aktivitas ini sebagai tidak dapat diubah ukurannya. Dalam hal ini, nilai rotasi dan pemangkasan kamera hanya bergantung pada kompensasi yang diperlukan, mengingat rotasi tampilan saat ini.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID Perubahan: 189229956
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini akan memaksa paket yang diterapkan untuk mengganti perilaku rotasi dan pemangkasan kamera default serta selalu menampilkan CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

ID Perubahan: 316897322
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, pastikan pengguna diberi pilihan untuk merekam satu aplikasi atau seluruh layar saat memulai sesi MediaProjection, dengan mengganti penggunaan MediaProjectionConfig#createConfigForDefaultDisplay.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID Perubahan: 266124927
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan SCREEN_ORIENTATION_REVERSE_LANDSCAPE untuk aplikasi yang menerapkannya. Kecuali OVERRIDE_ANY_ORIENTATION juga diaktifkan, SCREEN_ORIENTATION_REVERSE_LANDSCAPE hanya digunakan saat aktivitas menentukan orientasi lanskap. Mengaktifkan perubahan ini dapat membantu Anda menguji perilaku aplikasi untuk mengetahui perbedaan antara perangkat yang orientasi lanskapnya sesuai dengan Surface.ROTATION_90 dan perangkat yang sesuai dengan Surface.ROTATION_270.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

ID Perubahan: 332679525
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, akan mengganti tata letak dalam perilaku mode potongan layar. Hal ini hanya akan berlaku jika tata letak layar penuh tidak diterapkan.

OVERRIDE_MIN_ASPECT_RATIO

ID Perubahan: 174042980
Status Default: Dinonaktifkan untuk semua aplikasi.

Perubahan ini adalah penyeleksi semua perubahan yang memaksa rasio lebar tinggi minimum tertentu. Mengaktifkan perubahan ini memungkinkan rasio lebar tinggi minimum berikut diterapkan:

Jika perubahan ini diaktifkan untuk paket aplikasi, rasio aspek minimum yang diberikan dalam manifes aplikasi akan diganti ke rasio aspek terbesar yang diaktifkan kecuali nilai manifes aplikasi lebih tinggi.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID Perubahan: 218959984
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, setelan ini akan menggantikan batasan rasio aspek minimum di layar penuh potret untuk menggunakan semua ruang layar yang tersedia.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID Perubahan: 180326787
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika OVERRIDE_MIN_ASPECT_RATIO juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan menetapkan rasio aspek minimum aktivitas ke nilai besar seperti yang ditetapkan oleh OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID Perubahan: 180326845
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika OVERRIDE_MIN_ASPECT_RATIO juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan menetapkan rasio aspek minimum aktivitas ke nilai sedang seperti yang ditetapkan oleh OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

ID Perubahan: 325586858
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, akan membatasi perlakuan yang memaksa rasio aspek minimum tertentu untuk diterapkan sehingga hanya diterapkan saat aplikasi terhubung ke kamera.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID Perubahan: 203647190
Status Default: Diaktifkan untuk semua aplikasi.

Saat OVERRIDE_MIN_ASPECT_RATIO juga diaktifkan, perubahan ini akan membatasi perubahan lain yang memaksa rasio aspek minimum aktivitas ke nilai tertentu—seperti OVERRIDE_MIN_ASPECT_RATIO_LARGE dan OVERRIDE_MIN_ASPECT_RATIO_MEDIUM—ke aktivitas yang juga memiliki orientasi potret.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID Perubahan: 236283604
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini akan mengecualikan paket yang diterapkan dari batasan orientasi abaikan yang dapat ditetapkan oleh produsen perangkat.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID Perubahan: 265451093
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan SCREEN_ORIENTATION_NOSENSOR untuk aplikasi yang menerapkannya. Kecuali OVERRIDE_ANY_ORIENTATION juga diaktifkan, SCREEN_ORIENTATION_NOSENSOR hanya digunakan saat aktivitas tidak menetapkan orientasi tetap lainnya.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID Perubahan: 265452344
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan SCREEN_ORIENTATION_PORTRAIT untuk aplikasi yang menerapkannya. Kecuali OVERRIDE_ANY_ORIENTATION juga diaktifkan, SCREEN_ORIENTATION_PORTRAIT hanya digunakan saat aktivitas tidak menetapkan orientasi tetap lainnya.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

ID Perubahan: 319400769
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, penguraian header Content-Disposition yang sesuai dengan RFC 6266 akan diizinkan. Khususnya, hal ini memungkinkan penguraian nilai filename* yang dapat menggunakan encoding karakter yang berbeda.

RATE_LIMIT_TOASTS

ID Perubahan: 174840628
Status Default: Perubahan ini tidak dapat dialihkan. Perubahan hanya dicatat ke dalam log oleh framework kompatibilitas.

Mengaktifkan pembatasan kapasitas jumlah panggilan Toast.show() untuk mencegah beban berlebih pada pengguna yang memiliki jumlah toast yang terlalu banyak dalam waktu terbatas. Setiap upaya untuk menampilkan jumlah toast yang terlalu banyak dari jumlah yang diizinkan dalam jangka waktu tertentu akan mengakibatkan toast dihapus.

STREAM_INT_DIFFERS_FROM_NEXT_INT

ID Perubahan: 308103782
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, metode Random.ints() kini akan menampilkan urutan angka yang berbeda dengan yang dilakukan metode Random.nextInt(). Ini mengikuti perubahan pada https://bugs.openjdk.org/browse/JDK-8301574.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 15 tentang Perubahan OpenJDK 17.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID Perubahan: 196254758
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, sistem akan memungkinkan paket "android" menggunakan alias komponen.

USE_NEW_ISO_LOCALE_CODES

ID Perubahan: 291868760
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 15 (API level 35) atau yang lebih tinggi.

Jika diaktifkan, kode bahasa untuk bahasa Ibrani, Yiddi, dan Indonesia tidak lagi dikonversi ke bentuk yang sudah tidak berlaku (Ibrani: iw, Yiddish: ji, dan Indonesia: in).

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 15 tentang Perubahan OpenJDK 17.