Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8aaf300f authored by avipul's avatar avipul
Browse files

Remove call log and sms permissions

Bug: 120483108
Test: Manual https://photos.app.goo.gl/ZkM7eyqoexYEnVzk6
Change-Id: I98f3f29c9d6da0dda1db974e599d369a5959a8c5
parent b6439897
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -46,11 +46,6 @@
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <!-- Following used for QuickContacts -->
    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.READ_CALENDAR"/>
    <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"/>
    <!-- Following used for Contact metadata syncing -->
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
    <!-- Following used for getting the status of the contacts sync adapter -->
@@ -283,11 +278,6 @@
            android:exported="false"
            android:theme="@style/PeopleTheme"/>

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

        <activity
            android:name=".activities.RequestImportVCardPermissionsActivity"
            android:exported="false"
+0 −2
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@
-keep class com.android.contacts.format.FormatUtils { *; }
-keep class com.android.contacts.format.TextHighlighter { *; }
-keep class com.android.contacts.group.GroupUtil { *; }
-keep class com.android.contacts.interactions.CallLogInteraction { *; }
-keep class com.android.contacts.interactions.CallLogInteractionsLoader { *; }
-keep class com.android.contacts.interactions.ContactDeletionInteraction { *; }
-keep class com.android.contacts.interactions.ContactInteractionUtil { *; }
-keep class com.android.contacts.list.ContactListItemView { *; }
+2 −61
Original line number Diff line number Diff line
@@ -584,29 +584,11 @@
    <!-- Button Label to see less on an ExpandingEntryCardView [CHAR LIMIT=40] -->
    <string name="expanding_entry_card_view_see_less">See less</string>

    <!-- Title of recent card. [CHAR LIMIT=60] -->
    <string name="recent_card_title">Recent</string>

    <!-- Title of recent card. [CHAR LIMIT=40] -->
    <!-- Title of about card. [CHAR LIMIT=40] -->
    <string name="about_card_title">About</string>

    <!-- Toast that appears when you are copying a directory contact into your personal contacts -->
    <string name="toast_making_personal_copy">Creating a personal copy&#8230;</string>
    <!-- Timestamp string for interactions from tomorrow. [CHAR LIMIT=40] -->
    <string name="tomorrow">Tomorrow</string>
    <!-- Timestamp string for interactions from today. [CHAR LIMIT=40] -->
    <string name="today">Today</string>
    <!-- Text for an event starting on the current day with a start and end time.
         For ex, "Today at 5:00pm-6:00pm" [CHAR LIMIT=NONE] -->
    <string name="today_at_time_fmt">"Today at <xliff:g id="time_interval">%s</xliff:g>"</string>
    <!-- Text for an event starting on the next day with a start and end time.
         For ex, "Tomorrow at 5:00pm-6:00pm" [CHAR LIMIT=NONE] -->
    <string name="tomorrow_at_time_fmt">"Tomorrow at <xliff:g id="time_interval">%s</xliff:g>"</string>
    <!-- Format string for a date and time description.  For ex:
         "April 19, 2012, 3:00pm - 4:00pm" [CHAR LIMIT=NONE] -->
    <string name="date_time_fmt">"<xliff:g id="date">%1$s</xliff:g>, <xliff:g id="time_interval">%2$s</xliff:g>"</string>
    <!-- Title for untitled calendar interactions [CHAR LIMIT=40] -->
    <string name="untitled_event">(Untitled event)</string>

    <!-- Name of the button in the date/time picker to accept the date/time change [CHAR LIMIT=15] -->
    <string name="date_time_set">Set</string>
@@ -635,22 +617,6 @@
    <!-- Content description for directions secondary button [CHAR LIMIT=NONE] -->
    <string name="content_description_directions">directions to location</string>

    <!-- Content description for recent sms interaction [CHAR LIMIT=NONE] -->
    <string name="content_description_recent_sms">recent sms. <xliff:g id="message_body">%1$s</xliff:g>. <xliff:g id="phone_number">%2$s</xliff:g>. <xliff:g id="date">%3$s</xliff:g>. click to respond</string>

    <!-- Header for the Relation entry [CHAR LIMIT=NONE] -->
    <string name="content_description_recent_call_type_incoming">incoming</string>
    <!-- Header for the Relation entry [CHAR LIMIT=NONE] -->
    <string name="content_description_recent_call_type_outgoing">outgoing</string>
    <!-- Header for the Relation entry [CHAR LIMIT=NONE] -->
    <string name="content_description_recent_call_type_missed">missed</string>

    <!-- Content description for recent sms interaction [CHAR LIMIT=NONE] -->
    <string name="content_description_recent_call">recent call. <xliff:g id="call_type">%1$s</xliff:g>. <xliff:g id="phone_number">%2$s</xliff:g>. <xliff:g id="date">%3$s</xliff:g>. click to call back</string>

    <!-- Prefix for messages that you sent [CHAR LIMIT=40] -->
    <string name="message_from_you_prefix">You: <xliff:g id="sms_body">%s</xliff:g></string>

    <!-- Button to expand the contact editor to show all available input fields. [CHAR LIMIT=60] -->
    <string name="editor_more_fields">More fields</string>

@@ -716,22 +682,6 @@
    <!-- Menu section title of "accounts" [CHAR LIMIT=20] -->
    <string name="menu_title_filters">Accounts</string>

    <!-- Contacts app asking for permissions in QuickContact activity,
         in order to display calendar and SMS history [CHAR LIMIT=60] -->
    <string name="permission_explanation_header">See your history together</string>

    <!-- Content displayed in QuickContact activity after Contacts app receiving
         Calendar and SMS permissions [CHAR LIMIT=60] -->
    <string name="permission_explanation_subheader_calendar_and_SMS">Events and messages</string>

    <!-- Content displayed in QuickContact activity after Contacts app receiving
         Calendar permission [CHAR LIMIT=40] -->
    <string name="permission_explanation_subheader_calendar">Events</string>

    <!-- Content displayed in QuickContact activity after Contacts app receiving
         SMS permission [CHAR LIMIT=40] -->
    <string name="permission_explanation_subheader_SMS">Messages</string>

    <!-- The header text for hamburger promo [CHAR LIMIT=60]-->
    <string name="hamburger_feature_highlight_header">Suggestions</string>
    <!-- The body text for hamburger promo [CHAR LIMIT=200]-->
@@ -1495,15 +1445,6 @@
    <!-- Content description for (...) in no name header [CHAR LIMIT=30]-->
    <string name="description_no_name_header">Ellipsis</string>

    <!-- Formatted call duration displayed in recent card in QuickContact, for duration less than 1 minute -->
    <string name="callDurationSecondFormat"><xliff:g id="seconds">%s</xliff:g> sec</string>

    <!-- Formatted call duration displayed in recent card in QuickContact, for duration less than 1 hour -->
    <string name="callDurationMinuteFormat"><xliff:g id="minutes">%1$s</xliff:g> min <xliff:g id="seconds">%2$s</xliff:g> sec</string>

    <!-- Formatted call duration displayed in recent card in QuickContact, for duration more than 1 hour -->
    <string name="callDurationHourFormat"><xliff:g id="minutes">%1$s</xliff:g> hr <xliff:g id="minutes">%2$s</xliff:g> min <xliff:g id="seconds">%3$s</xliff:g> sec</string>

    <!-- Toast shown when a dynamic shortcut is tapped after being disabled because the experiment was turned off on the device -->
    <string name="dynamic_shortcut_disabled_message">This shortcut has been disabled</string>

+0 −88
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.contacts.activities;

import android.Manifest.permission;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;

import java.util.ArrayList;
import java.util.List;

/**
 * Requests permissions that are not absolutely required by the calling Activity;
 * if permissions are denied, the calling Activity is still restarted.
 *
 * Activities that have a set of permissions that must be granted in order for the Activity to
 * function propertly should call
 * {@link RequestPermissionsActivity#startPermissionActivity(Activity, String[], Class)}
 * before calling {@link RequestDesiredPermissionsActivity#startPermissionActivity(Activity)}.
 */
public class RequestDesiredPermissionsActivity extends RequestPermissionsActivityBase {

    private static String[] sDesiredPermissions;

    @Override
    protected String[] getPermissions() {
        return getPermissions(getPackageManager());
    }

    /**
     * If any desired permission that Contacts app needs are missing, open an Activity
     * to prompt user for these permissions. After that calling activity is restarted
     * and in the second run permission check is skipped.
     *
     * This is designed to be called inside {@link android.app.Activity#onCreate}
     */
    public static boolean startPermissionActivity(Activity activity) {
        final Bundle extras = activity.getIntent().getExtras();
        if (extras != null && extras.getBoolean(EXTRA_STARTED_PERMISSIONS_ACTIVITY, false)) {
            return false;
        }
        return startPermissionActivity(activity,
                getPermissions(activity.getPackageManager()),
                RequestDesiredPermissionsActivity.class);
    }

    private static String[] getPermissions(PackageManager packageManager) {
        if (sDesiredPermissions == null) {
            final List<String> permissions = new ArrayList<>();
            // Calendar group
            permissions.add(permission.READ_CALENDAR);

            if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
                // SMS group
                permissions.add(permission.READ_SMS);
            }
            sDesiredPermissions = permissions.toArray(new String[0]);
        }
        return sDesiredPermissions;
    }

    @Override
    public void onRequestPermissionsResult(
            int requestCode, String permissions[], int[] grantResults) {
        mPreviousActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        startActivity(mPreviousActivityIntent);
        overridePendingTransition(0, 0);

        finish();
        overridePendingTransition(0, 0);
    }
}
 No newline at end of file
+1 −4
Original line number Diff line number Diff line
@@ -21,11 +21,9 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.widget.Toast;

import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.android.contacts.R;

import java.util.ArrayList;
import java.util.List;

@@ -70,7 +68,6 @@ public class RequestPermissionsActivity extends RequestPermissionsActivityBase {
                // ImportExportDialogFragment.  We work around missing this permission when
                // telephony is not available on the device (i.e. on tablets).
                permissions.add(permission.CALL_PHONE);
                permissions.add(permission.READ_CALL_LOG);
                permissions.add(permission.READ_PHONE_STATE);
            }
            sRequiredPermissions = permissions.toArray(new String[0]);
Loading