soul-browser/sources/java/com/google/api/services/drive/model/TeamDrive.java
KaKi87 550ddb0413
Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1)
* Decompile and recreate Soul Browser v1.4.85 with APK CI builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix CI build: include bundled google.jks and remove PR trigger

The apktool build failed in CI because app/unknown/.../google.jks was
excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files
and commit the missing resource.

Also remove the redundant pull_request workflow trigger.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Change package ID to com.github.kaki87.soulbrowser

Rename the application ID so the rebuilt APK can be installed
alongside the original Soul Browser from Google Play.

- Update AndroidManifest package, permissions, providers, and actions
- Update R class references in smali (com/github/kaki87/soulbrowser/R)
- Update shortcuts.xml targetPackage
- Rename app label to "Soul Rebuild" for easy identification

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install compatibility: remove split APK metadata and bundle native libs

The rebuilt APK still declared requiredSplitTypes and Play Store split
metadata, causing Android to reject standalone installs as incompatible.

- Remove requiredSplitTypes and split-related manifest meta-data
- Merge native libs from all ABI splits with uncompressed storage
- Page-align before signing for extractNativeLibs=false
- Add .so to apktool doNotCompress list

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install failure: use apksigner v2/v3 and bundle arm64 native libs

Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only
produces v1 signatures, causing Android to reject the install.

- Sign with apksigner (v1+v2+v3) instead of jarsigner
- Add arm64-v8a native libraries from universal Soul Browser 1.4.79
- Set extractNativeLibs=true for reliable sideload installs
- Commit stable debug keystore for consistent signatures across builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Add committed debug keystore for consistent APK signatures

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix startup crash: use original classes2.dex desugar libraries

Apktool recompiles smali_classes2 into a broken classes2.dex, causing
ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init.

Inject the original classes2.dex (Java 8+ desugar libs) after apktool
build instead of using the recompiled version.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix missing drawable resources from density split APKs

The base APK is an app bundle module; density-specific drawables like
seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild,
causing Resources$NotFoundException at runtime.

- Merge non-9-patch resources from split APKs before apktool build
- Sync public.xml IDs from R smali only when backing files exist
- Add 713 density-specific resource IDs to public.xml

Co-authored-by: KaKi87 <KaKi87@pm.me>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-10 16:07:14 +02:00

529 lines
13 KiB
Java

package com.google.api.services.drive.model;
import com.google.api.client.json.GenericJson;
import com.google.api.client.util.DateTime;
import com.google.api.client.util.Key;
/* loaded from: classes3.dex */
public final class TeamDrive extends GenericJson {
@Key
private BackgroundImageFile backgroundImageFile;
@Key
private String backgroundImageLink;
@Key
private Capabilities capabilities;
@Key
private String colorRgb;
@Key
private DateTime createdTime;
@Key
private String id;
@Key
private String kind;
@Key
private String name;
@Key
private String orgUnitId;
@Key
private Restrictions restrictions;
@Key
private String themeId;
public BackgroundImageFile getBackgroundImageFile() {
return this.backgroundImageFile;
}
public String getBackgroundImageLink() {
return this.backgroundImageLink;
}
public Capabilities getCapabilities() {
return this.capabilities;
}
public String getColorRgb() {
return this.colorRgb;
}
public DateTime getCreatedTime() {
return this.createdTime;
}
public String getId() {
return this.id;
}
public String getKind() {
return this.kind;
}
public String getName() {
return this.name;
}
public String getOrgUnitId() {
return this.orgUnitId;
}
public Restrictions getRestrictions() {
return this.restrictions;
}
public String getThemeId() {
return this.themeId;
}
public TeamDrive setBackgroundImageFile(BackgroundImageFile backgroundImageFile) {
this.backgroundImageFile = backgroundImageFile;
return this;
}
public TeamDrive setBackgroundImageLink(String str) {
this.backgroundImageLink = str;
return this;
}
public TeamDrive setCapabilities(Capabilities capabilities) {
this.capabilities = capabilities;
return this;
}
public TeamDrive setColorRgb(String str) {
this.colorRgb = str;
return this;
}
public TeamDrive setCreatedTime(DateTime dateTime) {
this.createdTime = dateTime;
return this;
}
public TeamDrive setId(String str) {
this.id = str;
return this;
}
public TeamDrive setKind(String str) {
this.kind = str;
return this;
}
public TeamDrive setName(String str) {
this.name = str;
return this;
}
public TeamDrive setOrgUnitId(String str) {
this.orgUnitId = str;
return this;
}
public TeamDrive setRestrictions(Restrictions restrictions) {
this.restrictions = restrictions;
return this;
}
public TeamDrive setThemeId(String str) {
this.themeId = str;
return this;
}
/* loaded from: classes3.dex */
public static final class BackgroundImageFile extends GenericJson {
@Key
private String id;
@Key
private Float width;
@Key
private Float xCoordinate;
@Key
private Float yCoordinate;
public String getId() {
return this.id;
}
public Float getWidth() {
return this.width;
}
public Float getXCoordinate() {
return this.xCoordinate;
}
public Float getYCoordinate() {
return this.yCoordinate;
}
public BackgroundImageFile setId(String str) {
this.id = str;
return this;
}
public BackgroundImageFile setWidth(Float f) {
this.width = f;
return this;
}
public BackgroundImageFile setXCoordinate(Float f) {
this.xCoordinate = f;
return this;
}
public BackgroundImageFile setYCoordinate(Float f) {
this.yCoordinate = f;
return this;
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData
public BackgroundImageFile set(String str, Object obj) {
return (BackgroundImageFile) super.set(str, obj);
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData, java.util.AbstractMap
public BackgroundImageFile clone() {
return (BackgroundImageFile) super.clone();
}
}
/* loaded from: classes3.dex */
public static final class Capabilities extends GenericJson {
@Key
private Boolean canAddChildren;
@Key
private Boolean canChangeCopyRequiresWriterPermissionRestriction;
@Key
private Boolean canChangeDomainUsersOnlyRestriction;
@Key
private Boolean canChangeTeamDriveBackground;
@Key
private Boolean canChangeTeamMembersOnlyRestriction;
@Key
private Boolean canComment;
@Key
private Boolean canCopy;
@Key
private Boolean canDeleteChildren;
@Key
private Boolean canDeleteTeamDrive;
@Key
private Boolean canDownload;
@Key
private Boolean canEdit;
@Key
private Boolean canListChildren;
@Key
private Boolean canManageMembers;
@Key
private Boolean canReadRevisions;
@Key
private Boolean canRemoveChildren;
@Key
private Boolean canRename;
@Key
private Boolean canRenameTeamDrive;
@Key
private Boolean canResetTeamDriveRestrictions;
@Key
private Boolean canShare;
@Key
private Boolean canTrashChildren;
public Boolean getCanAddChildren() {
return this.canAddChildren;
}
public Boolean getCanChangeCopyRequiresWriterPermissionRestriction() {
return this.canChangeCopyRequiresWriterPermissionRestriction;
}
public Boolean getCanChangeDomainUsersOnlyRestriction() {
return this.canChangeDomainUsersOnlyRestriction;
}
public Boolean getCanChangeTeamDriveBackground() {
return this.canChangeTeamDriveBackground;
}
public Boolean getCanChangeTeamMembersOnlyRestriction() {
return this.canChangeTeamMembersOnlyRestriction;
}
public Boolean getCanComment() {
return this.canComment;
}
public Boolean getCanCopy() {
return this.canCopy;
}
public Boolean getCanDeleteChildren() {
return this.canDeleteChildren;
}
public Boolean getCanDeleteTeamDrive() {
return this.canDeleteTeamDrive;
}
public Boolean getCanDownload() {
return this.canDownload;
}
public Boolean getCanEdit() {
return this.canEdit;
}
public Boolean getCanListChildren() {
return this.canListChildren;
}
public Boolean getCanManageMembers() {
return this.canManageMembers;
}
public Boolean getCanReadRevisions() {
return this.canReadRevisions;
}
public Boolean getCanRemoveChildren() {
return this.canRemoveChildren;
}
public Boolean getCanRename() {
return this.canRename;
}
public Boolean getCanRenameTeamDrive() {
return this.canRenameTeamDrive;
}
public Boolean getCanResetTeamDriveRestrictions() {
return this.canResetTeamDriveRestrictions;
}
public Boolean getCanShare() {
return this.canShare;
}
public Boolean getCanTrashChildren() {
return this.canTrashChildren;
}
public Capabilities setCanAddChildren(Boolean bool) {
this.canAddChildren = bool;
return this;
}
public Capabilities setCanChangeCopyRequiresWriterPermissionRestriction(Boolean bool) {
this.canChangeCopyRequiresWriterPermissionRestriction = bool;
return this;
}
public Capabilities setCanChangeDomainUsersOnlyRestriction(Boolean bool) {
this.canChangeDomainUsersOnlyRestriction = bool;
return this;
}
public Capabilities setCanChangeTeamDriveBackground(Boolean bool) {
this.canChangeTeamDriveBackground = bool;
return this;
}
public Capabilities setCanChangeTeamMembersOnlyRestriction(Boolean bool) {
this.canChangeTeamMembersOnlyRestriction = bool;
return this;
}
public Capabilities setCanComment(Boolean bool) {
this.canComment = bool;
return this;
}
public Capabilities setCanCopy(Boolean bool) {
this.canCopy = bool;
return this;
}
public Capabilities setCanDeleteChildren(Boolean bool) {
this.canDeleteChildren = bool;
return this;
}
public Capabilities setCanDeleteTeamDrive(Boolean bool) {
this.canDeleteTeamDrive = bool;
return this;
}
public Capabilities setCanDownload(Boolean bool) {
this.canDownload = bool;
return this;
}
public Capabilities setCanEdit(Boolean bool) {
this.canEdit = bool;
return this;
}
public Capabilities setCanListChildren(Boolean bool) {
this.canListChildren = bool;
return this;
}
public Capabilities setCanManageMembers(Boolean bool) {
this.canManageMembers = bool;
return this;
}
public Capabilities setCanReadRevisions(Boolean bool) {
this.canReadRevisions = bool;
return this;
}
public Capabilities setCanRemoveChildren(Boolean bool) {
this.canRemoveChildren = bool;
return this;
}
public Capabilities setCanRename(Boolean bool) {
this.canRename = bool;
return this;
}
public Capabilities setCanRenameTeamDrive(Boolean bool) {
this.canRenameTeamDrive = bool;
return this;
}
public Capabilities setCanResetTeamDriveRestrictions(Boolean bool) {
this.canResetTeamDriveRestrictions = bool;
return this;
}
public Capabilities setCanShare(Boolean bool) {
this.canShare = bool;
return this;
}
public Capabilities setCanTrashChildren(Boolean bool) {
this.canTrashChildren = bool;
return this;
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData
public Capabilities set(String str, Object obj) {
return (Capabilities) super.set(str, obj);
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData, java.util.AbstractMap
public Capabilities clone() {
return (Capabilities) super.clone();
}
}
/* loaded from: classes3.dex */
public static final class Restrictions extends GenericJson {
@Key
private Boolean adminManagedRestrictions;
@Key
private Boolean copyRequiresWriterPermission;
@Key
private Boolean domainUsersOnly;
@Key
private Boolean teamMembersOnly;
public Boolean getAdminManagedRestrictions() {
return this.adminManagedRestrictions;
}
public Boolean getCopyRequiresWriterPermission() {
return this.copyRequiresWriterPermission;
}
public Boolean getDomainUsersOnly() {
return this.domainUsersOnly;
}
public Boolean getTeamMembersOnly() {
return this.teamMembersOnly;
}
public Restrictions setAdminManagedRestrictions(Boolean bool) {
this.adminManagedRestrictions = bool;
return this;
}
public Restrictions setCopyRequiresWriterPermission(Boolean bool) {
this.copyRequiresWriterPermission = bool;
return this;
}
public Restrictions setDomainUsersOnly(Boolean bool) {
this.domainUsersOnly = bool;
return this;
}
public Restrictions setTeamMembersOnly(Boolean bool) {
this.teamMembersOnly = bool;
return this;
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData
public Restrictions set(String str, Object obj) {
return (Restrictions) super.set(str, obj);
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData, java.util.AbstractMap
public Restrictions clone() {
return (Restrictions) super.clone();
}
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData
public TeamDrive set(String str, Object obj) {
return (TeamDrive) super.set(str, obj);
}
@Override // com.google.api.client.json.GenericJson, com.google.api.client.util.GenericData, java.util.AbstractMap
public TeamDrive clone() {
return (TeamDrive) super.clone();
}
}