Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
e8b9f81
remove useless no-op privacy policy / terms of use
thestinger Jul 27, 2017
bf1f247
remove 'to Google' from Contacts backup notice
thestinger Aug 22, 2017
e8dde89
Contacts: define app category
bvlj Jan 25, 2018
2145715
Add GrapheneOS icon
flawedworld Feb 5, 2022
5bb29ee
Replace launcher icon
Feb 9, 2022
6b91399
Add basic support for vCard 4.0
x86pup Feb 19, 2022
d6a3d6d
Don't prompt to add account when creating a contact
chirayudesai May 25, 2022
6bfb303
Use common intent for directions instead of Google Maps URL
flawedworld May 25, 2022
e5dab08
don't hide empty local contact storage when a Google account is present
muhomorr Aug 24, 2022
2c1ee15
add monochrome icon
empratyush Sep 13, 2022
2e0e357
added color for night theme
empratyush Nov 24, 2022
394d997
replace/remove hardcoded color with attribute color/ res reference
empratyush Nov 24, 2022
737abc5
remove extra '>' symbol
empratyush Nov 24, 2022
b7b3dcf
replace Light theme with DayNight theme
empratyush Nov 24, 2022
ce84ccf
restore menu item color
empratyush Nov 24, 2022
3dea46d
Migrate activity to AppCompatActivity
empratyush Nov 24, 2022
4f9faed
change color name
empratyush Nov 24, 2022
0b5d68a
migrate dialog to androidx dialog
empratyush Nov 24, 2022
a15f70a
bug fixes: use appCompat theme while creating appcompat alertdialog
empratyush Apr 9, 2023
994aa98
bugfix: finish activity when "Back" is triggered after ACTION_VIEW_GROUP
muhomorr May 15, 2023
a95c804
support EXTRA_ALLOW_MULTIPLE in phone number and email pickers
muhomorr May 18, 2023
5688abf
support search in phone number and email pickers
muhomorr May 18, 2023
8dba6c9
support EXTRA_ALLOW_MULTIPLE in contact picker
muhomorr May 18, 2023
8d9cbe6
fix file permissions
thestinger Sep 30, 2024
fb68fc8
add AOSP dependencies as git submodules
muhomorr Dec 19, 2024
0ef012f
add Gradle build support
muhomorr Dec 19, 2024
5fc6498
fix androidx.appcompat resource references
muhomorr Dec 19, 2024
c011033
inline SET_DEFAULT_ACCOUNT_FOR_CONTACTS permission system API constant
muhomorr Dec 19, 2024
7bc3cbf
inline ContactsContract.Settings.setDefaultAccount() implementation
muhomorr Dec 19, 2024
538312d
add assets dir to Gradle sourceSets
muhomorr Dec 20, 2024
4972d1f
update platform_external_libphonenumber
muhomorr Dec 20, 2024
f269f96
Improve dark theme color contrast
t895 Dec 23, 2024
5c7d9b2
Opt out of edge-to-edge
t895 Dec 31, 2024
f87f038
Bump targetSdk and minSdk to 35
t895 Dec 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
/.idea/deploymentTargetDropDown.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
keystore.properties
*.keystore
local.properties
16 changes: 16 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[submodule "lib/platform_external_libphonenumber"]
path = lib/platform_external_libphonenumber
url = https://github.com/GrapheneOS/platform_external_libphonenumber
branch = main
[submodule "lib/platform_frameworks_ex"]
path = lib/platform_frameworks_ex
url = https://github.com/GrapheneOS/platform_frameworks_ex
branch = main
[submodule "lib/platform_frameworks_opt_vcard"]
path = lib/platform_frameworks_opt_vcard
url = https://github.com/GrapheneOS/platform_frameworks_opt_vcard
branch = main
[submodule "lib/platform_packages_apps_PhoneCommon"]
path = lib/platform_packages_apps_PhoneCommon
url = https://github.com/GrapheneOS/platform_packages_apps_PhoneCommon
branch = main
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

186 changes: 186 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/migrations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/runConfigurations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 7 additions & 6 deletions AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.contacts"
android:versionCode="10734"
android:versionName="1.7.34">

<uses-sdk
android:minSdkVersion="34"
android:targetSdkVersion="34"/>
android:minSdkVersion="35"
android:targetSdkVersion="35"/>

<original-package android:name="com.android.contacts"/>

Expand Down Expand Up @@ -67,8 +66,10 @@
<application
android:name="com.android.contacts.ContactsApplication"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_contacts_launcher"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/applicationLabel"
android:appCategory="social"
android:supportsRtl="true"
android:taskAffinity="android.task.contacts"
android:usesCleartextTraffic="false">
Expand Down Expand Up @@ -295,12 +296,12 @@
<activity
android:name=".activities.RequestPermissionsActivity"
android:exported="false"
android:theme="@style/PeopleTheme"/>
android:theme="@style/PeopleActivityTheme"/>

<activity
android:name=".activities.RequestImportVCardPermissionsActivity"
android:exported="false"
android:theme="@style/PeopleTheme"/>
android:theme="@style/PeopleActivityTheme"/>

<activity
android:name=".activities.ShowOrCreateActivity"
Expand Down
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
52 changes: 52 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
plugins {
id("com.android.application")
kotlin("android")
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}

android {
compileSdk = 35
buildToolsVersion = "35.0.0"

namespace = "com.android.contacts"

defaultConfig {
minSdk = 35
targetSdk = 35
}

buildTypes {
getByName("debug") {
applicationIdSuffix = ".debug"
val selfPkgName = android.namespace + applicationIdSuffix
resValue("string", "applicationLabel", "Contacts d")
resValue("string", "contacts_file_provider_authority", "$selfPkgName.files")
resValue("string", "contacts_sdn_provider_authority", "$selfPkgName.sdn")
}
}

sourceSets.getByName("main") {
assets.srcDir("../assets")
manifest.srcFile("../AndroidManifest.xml")
java.srcDirs("../src", "../src-bind")
res.srcDir("../res")
}
}

dependencies {
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("androidx.palette:palette:1.0.0")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation("com.google.android.material:material:1.12.0")
implementation("com.google.guava:guava:33.4.0-android")

implementation(project(":lib:platform_external_libphonenumber"))
implementation(project(":lib:platform_frameworks_ex:common"))
implementation(project(":lib:platform_frameworks_opt_vcard"))
implementation(project(":lib:platform_packages_apps_PhoneCommon"))
}
4 changes: 4 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("com.android.application") version "8.7.3" apply false
id("org.jetbrains.kotlin.android") version "2.0.21" apply false
}
2 changes: 2 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
8 changes: 8 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading