Status Update
Comments
yb...@google.com <yb...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: George Mount <
Link:
Fix focus move within child AndroidViews
Expand for full commit details
Fix focus move within child AndroidViews
Fixes: 389994198
Fixes: 391378895
Relnote: "Fixes focus travel within child AndroidViews where it
can sometimes jump out of the child to the ComposeView"
Sometimes the native FocusFinder doesn't act properly and finds
the wrong View when searching. This CL changes the FocusFinder to
use a newer copy of FocusFinder for all focus search operations
in AndroidComposeView.
Test: new test, manual testing
Change-Id: I678c864afe086879c5c45b018dd82da4f23be440
Files:
- M
compose/ui/ui/src/androidInstrumentedTest/AndroidManifest.xml
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/focus/FocusListenerTest.kt
- A
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/test/TestActivity2.kt
- A
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/viewinterop/MixedFocusChangeTest.kt
- M
compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
- M
compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/FocusFinderCompat.android.kt
Hash: b028bcc322095634123da91c7146bac9e23c13c7
Date: Tue Jan 14 13:48:11 2025
t....@gmail.com <t....@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: Ralston Da Silva <
Link:
Disabling isViewFocusFixEnabled and isRemoveFocusedViewFixEnabled
Expand for full commit details
Disabling isViewFocusFixEnabled and isRemoveFocusedViewFixEnabled
Disabling these flag to unblock 1.8 RC.
These were features/bug-fixes that were not regressions
from 1.7
Bug: 406327273
Bug: 369256395
Bug: 378570682
Bug: 376142752
Bug: 384056227
Bug: 388590015
Bug: 389994198
Bug: 391378895
Test: Ran presubmits and added TODOs to the affected tests
Change-Id: I5ffb7ff27c662838c8b464560d1df830751f015c
Files:
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/focus/FocusViewInteropTest.kt
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/focus/OwnerFocusTest.kt
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/focus/RequestFocusTest.kt
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/viewinterop/MixedFocusChangeTest.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ComposeUiFlags.kt
Hash: 1a33d21734ef7f68d4cad37c8d333831f304a339
Date: Tue Apr 01 17:46:50 2025
bu...@gmail.com <bu...@gmail.com> #4
yb...@google.com <yb...@google.com>
yb...@google.com <yb...@google.com> #5
we should just do an audit in our codebase to ensure we never do lower/uppercase conversions w/o Locale.US
si...@gmail.com <si...@gmail.com> #6
yb...@google.com <yb...@google.com> #7
a contribution would be awesome.
Unless they are expected to go out of experimental very soon, it might actually make sense to duplicate them. We are not supposed to ship any stable version that depends on an experimental API. This is a bit less strict for annotation processors since we don't provide an API to the end user but still dangerous if our implementation depends on experimental and that API changes, it might suddenly break the build as developer updates their kotlin version.
@dany, any strong opinions?
da...@google.com <da...@google.com> #8
I'd prefer if we just copy the implementation to avoid a Kotlin version dependency. Feel free to send us a PR in
ap...@google.com <ap...@google.com> #9
Branch: androidx-master-dev
commit 5746e3392b60a9f79bca2d7f93774cc5cf50383f
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Aug 24 04:31:51 2020
[GH] Fix upper/lowercase locale issues
## Proposed Changes
- Get rid of all `toUpperCase()`, `toLowerCase()`, `capitalize()` and `decapitalize()` calls inside Room without a `Locale` to avoid localization issues (specifically with Turkish).
## Testing
Test: Added one test that verifies this fix (similar to the issue mentioned in the ticket, test fails without my changes)
## Issues Fixed
Fixes: 68159494
This is an imported pull request from
Resolves #70
Github-Pr-Head-Sha: 937fcb76f264b10e7277025f74f4febebb899251
GitOrigin-RevId: 74697ccb895897266e374e40bfd5bd9bed370002
Change-Id: Ibea01d68d55be46db1a98655d69066409b463e99
M room/compiler/src/main/kotlin/androidx/room/ext/string_ext.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/main/kotlin/androidx/room/solver/types/CustomTypeConverterWrapper.kt
M room/compiler/src/main/kotlin/androidx/room/solver/types/PrimitiveColumnTypeAdapter.kt
M room/compiler/src/main/kotlin/androidx/room/verifier/jdbc_ext.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Field.kt
M room/compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
M room/compiler/src/main/kotlin/androidx/room/vo/RelationCollector.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/EntityCursorConverterWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/ViewInfoValidationWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/FieldProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/DaoWriterTest.kt
Description
Version used: 1.0.0-rc1
Devices/Android versions reproduced on: compile
These are my entity and dao classes.
----------------------------------------------------------------------------------------------------------
@Entity
public class Playlist {
@PrimaryKey(autoGenerate = true) private int id;
private String name;
private String path;
@ColumnInfo(name = "icon_path") private String iconPath;
private int type;
@ColumnInfo(name = "date_created") private long dateCreated;
@ColumnInfo(name = "date_last_opened") private long dateLastOpened;
public int getId() {
return id;
}
public void setId(int id) {
}
public String getName() {
return name;
}
public void setName(String name) {
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getIconPath() {
return iconPath;
}
public void setIconPath(String iconPath) {
this.iconPath = iconPath;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public long getDateCreated() {
return dateCreated;
}
public void setDateCreated(long dateCreated) {
this.dateCreated = dateCreated;
}
public long getDateLastOpened() {
return dateLastOpened;
}
public void setDateLastOpened(long dateLastOpened) {
this.dateLastOpened = dateLastOpened;
}
}
----------------------------------------------------------------------------------------------------------
@Dao
public interface PlaylistDao {
@Query("SELECT * FROM playlist")
List<Playlist> getAll();
@Insert
void insert(Playlist playlist);
@Delete
void delete(Playlist playlist);
}
----------------------------------------------------------------------------------------------------------
I'm getting compile time error that cannot find getter for id and iconPath field.
----------------------------------------------------------------------------------------------------------
Playlist.java:15: error: Cannot find getter for field.
@PrimaryKey(autoGenerate = true) private int id;
^
Playlist.java:18: error: Cannot find getter for field.
@ColumnInfo(name = "icon_path") private String iconPath;
^
----------------------------------------------------------------------------------------------------------
While I looked into generated PlaylistDao implementation class, i saw that 'İ' is used as uppercase of 'i'.
----------------------------------------------------------------------------------------------------------
public List<Playlist> getAll() {
final String _sql = "SELECT * FROM playlist";
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 0);
final Cursor _cursor = __db.query(_statement);
try {
final int _cursorIndexOfİd = _cursor.getColumnIndexOrThrow("id");
final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name");
final int _cursorIndexOfPath = _cursor.getColumnIndexOrThrow("path");
final int _cursorIndexOfİconPath = _cursor.getColumnIndexOrThrow("icon_path");
final int _cursorIndexOfType = _cursor.getColumnIndexOrThrow("type");
final int _cursorIndexOfDateCreated = _cursor.getColumnIndexOrThrow("date_created");
final int _cursorIndexOfDateLastOpened = _cursor.getColumnIndexOrThrow("date_last_opened");
final List<Playlist> _result = new ArrayList<Playlist>(_cursor.getCount());
while(_cursor.moveToNext()) {
final Playlist _item;
_item = new Playlist();
_
final String _tmpName;
_tmpName = _cursor.getString(_cursorIndexOfName);
_item.setName(_tmpName);
final String _tmpPath;
_tmpPath = _cursor.getString(_cursorIndexOfPath);
_item.setPath(_tmpPath);
_item.iconPath = _cursor.getString(_cursorIndexOfİconPath);
final int _tmpType;
_tmpType = (int) _cursor.getInt(_cursorIndexOfType);
_item.setType(_tmpType);
final long _tmpDateCreated;
_tmpDateCreated = _cursor.getLong(_cursorIndexOfDateCreated);
_item.setDateCreated(_tmpDateCreated);
final long _tmpDateLastOpened;
_tmpDateLastOpened = _cursor.getLong(_cursorIndexOfDateLastOpened);
_item.setDateLastOpened(_tmpDateLastOpened);
_result.add(_item);
}
return _result;
} finally {
_cursor.close();
_statement.release();
}
}
----------------------------------------------------------------------------------------------------------
I'm using Turkish keyboard. I tried changing my keyboard input as English and wrote entity class again. I also tried convert file encoding of playlist class but the problem was not solved.
It only compile without error when i change getters with getİd and getİconPath.