diff options
author | Eric Erfanian <erfanian@google.com> | 2017-06-08 00:59:55 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-06-08 00:59:55 +0000 |
commit | c67d658e7daa453fe9ad9fd1a37f81eaf2048c44 (patch) | |
tree | b9bbc285430ffb5363a70eb27e382c38f5a85b7a /java/com/android/dialer/callcomposer | |
parent | 75233ff03785f24789b32039ac2c208805b7e506 (diff) | |
parent | 274b6d320edb3c33e7b3a95c43a811829486a777 (diff) |
Update AOSP Dialer source from internal google3 repository at cl/158012278. am: 91ce7d2a47
am: 274b6d320e
Change-Id: Iecf4325f314bf6c3324187e6406c8aae4675dd63
Diffstat (limited to 'java/com/android/dialer/callcomposer')
12 files changed, 64 insertions, 159 deletions
diff --git a/java/com/android/dialer/callcomposer/AndroidManifest.xml b/java/com/android/dialer/callcomposer/AndroidManifest.xml index 369db6f4a..cce71105f 100644 --- a/java/com/android/dialer/callcomposer/AndroidManifest.xml +++ b/java/com/android/dialer/callcomposer/AndroidManifest.xml @@ -17,7 +17,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.dialer.callcomposer"> - <application> + <application android:theme="@style/Theme.AppCompat"> <activity android:name="com.android.dialer.callcomposer.CallComposerActivity" android:exported="true" diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java index 074fc6de1..bc20c7314 100644 --- a/java/com/android/dialer/callcomposer/CallComposerActivity.java +++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java @@ -37,10 +37,8 @@ import android.text.TextUtils; import android.util.Base64; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnLayoutChangeListener; import android.view.ViewAnimationUtils; import android.view.ViewGroup; -import android.view.WindowManager.LayoutParams; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; @@ -56,6 +54,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.UiUtil; import com.android.dialer.common.concurrent.DialerExecutors; import com.android.dialer.constants.Constants; +import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.enrichedcall.EnrichedCallManager.State; @@ -86,7 +85,6 @@ public class CallComposerActivity extends AppCompatActivity implements OnClickListener, OnPageChangeListener, CallComposerListener, - OnLayoutChangeListener, EnrichedCallManager.StateChangedListener { public static final String KEY_CONTACT_NAME = "contact_name"; @@ -102,7 +100,7 @@ public class CallComposerActivity extends AppCompatActivity private static final String VIEW_PAGER_STATE_KEY = "view_pager_state_key"; private static final String SESSION_ID_KEY = "session_id_key"; - private CallComposerContact contact; + private DialerContact contact; private Long sessionId = Session.NO_SESSION_ID; private TextView nameView; @@ -126,10 +124,9 @@ public class CallComposerActivity extends AppCompatActivity private boolean shouldAnimateEntrance = true; private boolean inFullscreenMode; private boolean isSendAndCallHidingOrHidden = true; - private boolean layoutChanged; private int currentIndex; - public static Intent newIntent(Context context, CallComposerContact contact) { + public static Intent newIntent(Context context, DialerContact contact) { Intent intent = new Intent(context, CallComposerActivity.class); ProtoParsers.put(intent, ARG_CALL_COMPOSER_CONTACT, contact); return intent; @@ -140,19 +137,19 @@ public class CallComposerActivity extends AppCompatActivity super.onCreate(savedInstanceState); setContentView(R.layout.call_composer_activity); - nameView = (TextView) findViewById(R.id.contact_name); - numberView = (TextView) findViewById(R.id.phone_number); - contactPhoto = (QuickContactBadge) findViewById(R.id.contact_photo); - cameraIcon = (ImageView) findViewById(R.id.call_composer_camera); - galleryIcon = (ImageView) findViewById(R.id.call_composer_photo); - messageIcon = (ImageView) findViewById(R.id.call_composer_message); - contactContainer = (RelativeLayout) findViewById(R.id.contact_bar); - pager = (ViewPager) findViewById(R.id.call_composer_view_pager); - background = (FrameLayout) findViewById(R.id.background); - windowContainer = (LinearLayout) findViewById(R.id.call_composer_container); - toolbar = (DialerToolbar) findViewById(R.id.toolbar); + nameView = findViewById(R.id.contact_name); + numberView = findViewById(R.id.phone_number); + contactPhoto = findViewById(R.id.contact_photo); + cameraIcon = findViewById(R.id.call_composer_camera); + galleryIcon = findViewById(R.id.call_composer_photo); + messageIcon = findViewById(R.id.call_composer_message); + contactContainer = findViewById(R.id.contact_bar); + pager = findViewById(R.id.call_composer_view_pager); + background = findViewById(R.id.background); + windowContainer = findViewById(R.id.call_composer_container); + toolbar = findViewById(R.id.toolbar); sendAndCall = findViewById(R.id.send_and_call_button); - sendAndCallText = (TextView) findViewById(R.id.send_and_call_text); + sendAndCallText = findViewById(R.id.send_and_call_text); interpolator = new FastOutSlowInInterpolator(); adapter = @@ -162,7 +159,6 @@ public class CallComposerActivity extends AppCompatActivity pager.setAdapter(adapter); pager.addOnPageChangeListener(this); - background.addOnLayoutChangeListener(this); cameraIcon.setOnClickListener(this); galleryIcon.setOnClickListener(this); messageIcon.setOnClickListener(this); @@ -178,11 +174,6 @@ public class CallComposerActivity extends AppCompatActivity onPageSelected(currentIndex); } - int adjustMode = - isLandscapeLayout() - ? LayoutParams.SOFT_INPUT_ADJUST_PAN - : LayoutParams.SOFT_INPUT_ADJUST_RESIZE; - getWindow().setSoftInputMode(adjustMode); // Since we can't animate the views until they are ready to be drawn, we use this listener to // track that and animate the call compose UI as soon as it's ready. ViewUtil.doOnPreDraw( @@ -264,7 +255,7 @@ public class CallComposerActivity extends AppCompatActivity } else if (view == sendAndCall) { sendAndCall(); } else { - Assert.fail(); + throw Assert.createIllegalStateFailException("View on click not implemented: " + view); } } @@ -340,11 +331,7 @@ public class CallComposerActivity extends AppCompatActivity private boolean sessionReady() { Session session = getEnrichedCallManager().getSession(sessionId); - if (session == null) { - return false; - } - - return session.getState() == EnrichedCallManager.STATE_STARTED; + return session != null && session.getState() == EnrichedCallManager.STATE_STARTED; } private void placeRCSCall(MultimediaData.Builder builder) { @@ -424,28 +411,6 @@ public class CallComposerActivity extends AppCompatActivity animateSendAndCall(fragment.shouldHide()); } - // To detect when the keyboard changes. - @Override - public void onLayoutChange( - View view, - int left, - int top, - int right, - int bottom, - int oldLeft, - int oldTop, - int oldRight, - int oldBottom) { - // To prevent infinite layout change loops - if (layoutChanged) { - layoutChanged = false; - return; - } - - layoutChanged = true; - showFullscreen(contactContainer.getTop() < 0 || inFullscreenMode); - } - /** * Reads arguments from the fragment arguments and populates the necessary instance variables. * Copied from {@link com.android.contacts.common.dialog.CallSubjectDialog}. @@ -456,14 +421,14 @@ public class CallComposerActivity extends AppCompatActivity byte[] bytes = Base64.decode(intent.getStringExtra(ARG_CALL_COMPOSER_CONTACT_BASE64), Base64.DEFAULT); try { - contact = CallComposerContact.parseFrom(bytes); + contact = DialerContact.parseFrom(bytes); } catch (InvalidProtocolBufferException e) { throw Assert.createAssertionFailException(e.toString()); } } else { contact = ProtoParsers.getTrusted( - intent, ARG_CALL_COMPOSER_CONTACT, CallComposerContact.getDefaultInstance()); + intent, ARG_CALL_COMPOSER_CONTACT, DialerContact.getDefaultInstance()); } updateContactInfo(); } diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java index f65207fa3..ecdc25822 100644 --- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java +++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java @@ -17,13 +17,14 @@ package com.android.dialer.callcomposer; import android.Manifest; -import android.Manifest.permission; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.drawable.Animatable; import android.hardware.Camera.CameraInfo; import android.net.Uri; import android.os.Bundle; +import android.preference.PreferenceManager; import android.provider.Settings; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -56,6 +57,7 @@ import com.android.dialer.util.PermissionsUtil; public class CameraComposerFragment extends CallComposerFragment implements CameraManagerListener, OnClickListener, CameraManager.MediaCallback { + private static final String CAMERA_PRIVACY_PREF = "camera_privacy_permission"; private static final String CAMERA_DIRECTION_KEY = "camera_direction"; private static final String CAMERA_URI_KEY = "camera_key"; @@ -107,7 +109,8 @@ public class CameraComposerFragment extends CallComposerFragment capture.setOnClickListener(this); cancel.setOnClickListener(this); - if (!PermissionsUtil.hasPermission(getContext(), permission.CAMERA)) { + + if (!PermissionsUtil.hasCameraPermissions(getContext())) { LogUtil.i("CameraComposerFragment.onCreateView", "Permission view shown."); Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_DISPLAYED); ImageView permissionImage = (ImageView) permissionView.findViewById(R.id.permission_icon); @@ -131,6 +134,12 @@ public class CameraComposerFragment extends CallComposerFragment } private void setupCamera() { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext()); + if (!preferences.getBoolean(CAMERA_PRIVACY_PREF, false)) { + Toast.makeText(getContext(), getString(R.string.camera_privacy_text), Toast.LENGTH_LONG) + .show(); + preferences.edit().putBoolean(CAMERA_PRIVACY_PREF, true).apply(); + } CameraManager.get().setListener(this); preview.setShown(); CameraManager.get().setRenderOverlay(focus); diff --git a/java/com/android/dialer/callcomposer/GalleryCursorLoader.java b/java/com/android/dialer/callcomposer/GalleryCursorLoader.java index f9990e167..39d6a4a6d 100644 --- a/java/com/android/dialer/callcomposer/GalleryCursorLoader.java +++ b/java/com/android/dialer/callcomposer/GalleryCursorLoader.java @@ -28,7 +28,7 @@ import android.support.v4.content.CursorLoader; public class GalleryCursorLoader extends CursorLoader { public static final String MEDIA_SCANNER_VOLUME_EXTERNAL = "external"; public static final String[] ACCEPTABLE_IMAGE_TYPES = - new String[] {"image/jpeg", "image/jpg", "image/png", "image/gif", "image/webp"}; + new String[] {"image/jpeg", "image/jpg", "image/png", "image/webp"}; private static final Uri STORAGE_URI = Files.getContentUri(MEDIA_SCANNER_VOLUME_EXTERNAL); private static final String SORT_ORDER = Media.DATE_MODIFIED + " DESC"; @@ -47,7 +47,7 @@ public class GalleryCursorLoader extends CursorLoader { @SuppressLint("DefaultLocale") private static String createSelection() { return String.format( - "mime_type IN ('image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp')" + "mime_type IN ('image/jpeg', 'image/jpg', 'image/png', 'image/webp')" + " AND media_type in (%d)", FileColumns.MEDIA_TYPE_IMAGE); } diff --git a/java/com/android/dialer/callcomposer/MessageComposerFragment.java b/java/com/android/dialer/callcomposer/MessageComposerFragment.java index 2a342bb08..392f6e716 100644 --- a/java/com/android/dialer/callcomposer/MessageComposerFragment.java +++ b/java/com/android/dialer/callcomposer/MessageComposerFragment.java @@ -24,11 +24,8 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.view.KeyEvent; import android.view.LayoutInflater; -import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; -import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; @@ -36,17 +33,12 @@ import android.widget.TextView.OnEditorActionListener; /** Fragment used to compose call with message fragment. */ public class MessageComposerFragment extends CallComposerFragment - implements OnClickListener, - TextWatcher, - OnTouchListener, - OnLongClickListener, - OnEditorActionListener { + implements OnClickListener, TextWatcher, OnEditorActionListener { private static final String CHAR_LIMIT_KEY = "char_limit"; public static final int NO_CHAR_LIMIT = -1; private EditText customMessage; - private boolean isLongClick = false; private int charLimit; public static MessageComposerFragment newInstance(int charLimit) { @@ -73,8 +65,6 @@ public class MessageComposerFragment extends CallComposerFragment customMessage = (EditText) view.findViewById(R.id.custom_message); urgent.setOnClickListener(this); - customMessage.setOnTouchListener(this); - customMessage.setOnLongClickListener(this); customMessage.addTextChangedListener(this); customMessage.setOnEditorActionListener(this); if (charLimit != NO_CHAR_LIMIT) { @@ -118,30 +108,6 @@ public class MessageComposerFragment extends CallComposerFragment getListener().composeCall(this); } - /** - * EditTexts take two clicks to dispatch an onClick() event, so instead we add an onTouchListener - * to listen for them. The caveat to this is that it also requires listening for onLongClicks to - * distinguish whether a MotionEvent came from a click or a long click. - */ - @Override - public boolean onTouch(View view, MotionEvent event) { - if (event.getAction() == MotionEvent.ACTION_UP) { - if (isLongClick) { - isLongClick = false; - } else { - getListener().showFullscreen(true); - } - } - view.performClick(); - return false; - } - - @Override - public boolean onLongClick(View v) { - isLongClick = true; - return false; - } - @Override public boolean shouldHide() { return TextUtils.isEmpty(getMessage()); diff --git a/java/com/android/dialer/callcomposer/camera/CameraManager.java b/java/com/android/dialer/callcomposer/camera/CameraManager.java index 4cc08ba32..977f063df 100644 --- a/java/com/android/dialer/callcomposer/camera/CameraManager.java +++ b/java/com/android/dialer/callcomposer/camera/CameraManager.java @@ -522,6 +522,7 @@ public class CameraManager implements FocusOverlayManager.Listener { switch (windowManager.getDefaultDisplay().getRotation()) { case Surface.ROTATION_0: degrees = 0; + mCamera.setDisplayOrientation(90); break; case Surface.ROTATION_90: degrees = 90; @@ -531,31 +532,22 @@ public class CameraManager implements FocusOverlayManager.Listener { break; case Surface.ROTATION_270: degrees = 270; + mCamera.setDisplayOrientation(180); break; default: throw Assert.createAssertionFailException(""); } - // The display orientation of the camera (this controls the preview image). - int orientation; - // The clockwise rotation angle relative to the orientation of the camera. This affects // pictures returned by the camera in Camera.PictureCallback. - int rotation; if (mCameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { - orientation = (mCameraInfo.orientation + degrees) % 360; - rotation = orientation; - // compensate the mirror but only for orientation - orientation = (360 - orientation) % 360; + mRotation = (mCameraInfo.orientation + degrees) % 360; } else { // back-facing - orientation = (mCameraInfo.orientation - degrees + 360) % 360; - rotation = orientation; + mRotation = (mCameraInfo.orientation - degrees + 360) % 360; } - mRotation = rotation; try { - mCamera.setDisplayOrientation(orientation); final Camera.Parameters params = mCamera.getParameters(); - params.setRotation(rotation); + params.setRotation(mRotation); mCamera.setParameters(params); } catch (final RuntimeException e) { LogUtil.e( @@ -589,7 +581,6 @@ public class CameraManager implements FocusOverlayManager.Listener { mOrientationHandler.disable(); mOrientationHandler = null; } - // releaseMediaRecorder(true /* cleanupFile */); mFocusOverlayManager.onPreviewStopped(); return; } diff --git a/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java b/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java index 31751e536..b5542ab6c 100644 --- a/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java +++ b/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java @@ -20,13 +20,11 @@ import android.annotation.TargetApi; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.graphics.Canvas; import android.graphics.Matrix; import android.net.Uri; import android.os.Build.VERSION_CODES; import android.support.v4.content.FileProvider; import com.android.dialer.callcomposer.camera.exif.ExifInterface; -import com.android.dialer.callcomposer.camera.exif.ExifTag; import com.android.dialer.callcomposer.util.BitmapResizer; import com.android.dialer.common.Assert; import com.android.dialer.common.concurrent.FallibleAsyncTask; @@ -71,13 +69,7 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> { File outputFile = DialerUtils.createShareableFile(mContext); try (OutputStream outputStream = new FileOutputStream(outputFile)) { - if (mHeightPercent != 1.0f) { - writeClippedBitmap(outputStream); - } else { - Bitmap bitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length); - bitmap = BitmapResizer.resizeForEnrichedCalling(bitmap); - bitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream); - } + writeClippedBitmap(outputStream); } return FileProvider.getUriForFile( @@ -105,10 +97,12 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> { } catch (final IOException e) { // Couldn't get exif tags, not the end of the world } + Bitmap bitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length); final int clippedWidth; final int clippedHeight; - if (ExifInterface.getOrientationParams(orientation).invertDimensions) { + boolean invert = ExifInterface.getOrientationParams(orientation).invertDimensions; + if (invert) { Assert.checkState(mWidth == bitmap.getHeight()); Assert.checkState(mHeight == bitmap.getWidth()); clippedWidth = (int) (mHeight * mHeightPercent); @@ -119,24 +113,22 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> { clippedWidth = mWidth; clippedHeight = (int) (mHeight * mHeightPercent); } - final int offsetTop = (bitmap.getHeight() - clippedHeight) / 2; - final int offsetLeft = (bitmap.getWidth() - clippedWidth) / 2; + + int offsetTop = (bitmap.getHeight() - clippedHeight) / 2; + int offsetLeft = (bitmap.getWidth() - clippedWidth) / 2; mWidth = clippedWidth; mHeight = clippedHeight; + + Matrix matrix = new Matrix(); + matrix.postRotate(invert ? 90 : 0); + Bitmap clippedBitmap = - Bitmap.createBitmap(clippedWidth, clippedHeight, Bitmap.Config.ARGB_8888); - clippedBitmap.setDensity(bitmap.getDensity()); - final Canvas clippedBitmapCanvas = new Canvas(clippedBitmap); - final Matrix matrix = new Matrix(); - matrix.postTranslate(-offsetLeft, -offsetTop); - clippedBitmapCanvas.drawBitmap(bitmap, matrix, null /* paint */); - clippedBitmapCanvas.save(); + Bitmap.createBitmap( + bitmap, offsetLeft, offsetTop, clippedWidth, clippedHeight, matrix, true); clippedBitmap = BitmapResizer.resizeForEnrichedCalling(clippedBitmap); - // EXIF data can take a big chunk of the file size and is often cleared by the - // carrier, only store orientation since that's critical - final ExifTag orientationTag = exifInterface.getTag(ExifInterface.TAG_ORIENTATION); + // EXIF data can take a big chunk of the file size and we've already manually rotated our image, + // so remove all of the exif data. exifInterface.clearExif(); - exifInterface.setTag(orientationTag); exifInterface.writeExif(clippedBitmap, outputStream); clippedBitmap.recycle(); diff --git a/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto b/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto deleted file mode 100644 index 99766aac5..000000000 --- a/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto +++ /dev/null @@ -1,18 +0,0 @@ -syntax = "proto2"; - -option java_package = "com.android.dialer.callcomposer"; -option java_multiple_files = true; -option optimize_for = LITE_RUNTIME; - -package com.android.dialer.callcomposer; - -message CallComposerContact { - optional fixed64 photo_id = 1; - optional string photo_uri = 2; - optional string contact_uri = 3; - optional string name_or_number = 4; - optional string number = 6; - optional string display_number = 7; - optional string number_label = 8; - optional int32 contact_type = 9; -} diff --git a/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml b/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml index c3f1102d1..14703a44c 100644 --- a/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml +++ b/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml @@ -15,11 +15,11 @@ ~ limitations under the License --> <FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/background" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@color/call_composer_background_color"> + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/background" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/call_composer_background_color"> <LinearLayout android:id="@+id/call_composer_container" @@ -87,7 +87,7 @@ android:layout_height="@dimen/call_composer_media_bar_height" android:orientation="horizontal" android:gravity="center_horizontal" - android:background="@color/dialer_secondary_color" + android:background="@color/dialer_theme_color_dark" android:clickable="true"> <ImageView diff --git a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml index 77c7a58d1..15562476a 100644 --- a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml +++ b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml @@ -70,7 +70,7 @@ android:background="@color/background_dialer_white" android:textCursorDrawable="@drawable/searchedittext_custom_cursor" android:layout_toStartOf="@+id/remaining_characters" - android:inputType="textShortMessage" + android:inputType="textShortMessage|textCapSentences" android:imeOptions="flagNoExtractUi|actionSend"/> <TextView diff --git a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml index 4fa52ad63..1a57f87ce 100644 --- a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml +++ b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml @@ -28,6 +28,6 @@ <string name="camera_switch_to_still_mode" msgid="1881982437979592567">"Fes una foto"</string> <string name="camera_media_failure" msgid="8979549551450965882">"No s\'ha pogut carregar la imatge de la càmera"</string> <string name="allow" msgid="8637148297403066623">"Permet"</string> - <string name="camera_permission_text" msgid="7863231776480341614">"Per fer una foto, dóna accés a la càmera"</string> - <string name="gallery_permission_text" msgid="4102566850658919346">"Per compartir una imatge, dóna accés al contingut multimèdia"</string> + <string name="camera_permission_text" msgid="7863231776480341614">"Per fer una foto, dona accés a la càmera"</string> + <string name="gallery_permission_text" msgid="4102566850658919346">"Per compartir una imatge, dona accés al contingut multimèdia"</string> </resources> diff --git a/java/com/android/dialer/callcomposer/res/values/styles.xml b/java/com/android/dialer/callcomposer/res/values/styles.xml index 29ac4ddaa..16e7fb622 100644 --- a/java/com/android/dialer/callcomposer/res/values/styles.xml +++ b/java/com/android/dialer/callcomposer/res/values/styles.xml @@ -15,7 +15,7 @@ ~ limitations under the License --> <resources> - <style name="Theme.AppCompat.CallComposer" parent="Theme.AppCompat.NoActionBar"> + <style name="Theme.AppCompat.CallComposer" parent="DialerThemeBase.NoActionBar"> <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> |