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

Commit 90d20679 authored by narinder Rana's avatar narinder Rana
Browse files

Merge branch 'upstream/master' into okSMS_v3.9.4

# Conflicts:
#	README.md
#	build.gradle
#	domain/src/main/java/com/moez/QKSMS/util/Preferences.kt
#	presentation/src/main/java/com/moez/QKSMS/common/QKApplication.kt
#	presentation/src/main/java/com/moez/QKSMS/common/base/QkThemedActivity.kt
#	presentation/src/main/java/com/moez/QKSMS/common/util/BillingManager.kt
#	presentation/src/main/java/com/moez/QKSMS/common/util/Colors.kt
#	presentation/src/main/java/com/moez/QKSMS/common/util/NotificationManagerImpl.kt
#	presentation/src/main/java/com/moez/QKSMS/common/widget/AvatarView.kt
#	presentation/src/main/java/com/moez/QKSMS/common/widget/PagerTitleView.kt
#	presentation/src/main/java/com/moez/QKSMS/common/widget/TextInputDialog.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/AttachmentAdapter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeActivity.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/MessagesAdapter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/editing/DetailedChipView.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/part/FileBinder.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/compose/part/VCardBinder.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/conversationinfo/ConversationInfoController.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/conversationinfo/ConversationInfoPresenter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/conversationinfo/ConversationInfoView.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/conversations/ConversationsAdapter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/gallery/GalleryViewModel.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/main/MainActivity.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/main/MainViewModel.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsController.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsPresenter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/themepicker/HSVPickerView.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/themepicker/ThemeAdapter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/themepicker/ThemePickerController.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/themepicker/ThemePickerPresenter.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/themepicker/ThemePickerState.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/themepicker/injection/ThemePickerModule.kt
#	presentation/src/main/java/com/moez/QKSMS/feature/widget/WidgetProvider.kt
#	presentation/src/main/java/com/moez/QKSMS/injection/AppModule.kt
#	presentation/src/main/res/layout/compose_activity.xml
#	presentation/src/main/res/layout/conversation_info_controller.xml
#	presentation/src/main/res/layout/drawer_view.xml
#	presentation/src/main/res/layout/hsv_picker_view.xml
#	presentation/src/main/res/layout/message_list_item_out.xml
#	presentation/src/main/res/menu/main.xml
#	presentation/src/main/res/values-ar/strings.xml
#	presentation/src/main/res/values-bn/strings.xml
#	presentation/src/main/res/values-de/strings.xml
#	presentation/src/main/res/values-el/strings.xml
#	presentation/src/main/res/values-fa/strings.xml
#	presentation/src/main/res/values-fi/strings.xml
#	presentation/src/main/res/values-fr/strings.xml
#	presentation/src/main/res/values-hi/strings.xml
#	presentation/src/main/res/values-it/strings.xml
#	presentation/src/main/res/values-iw/strings.xml
#	presentation/src/main/res/values-ja/strings.xml
#	presentation/src/main/res/values-ko/strings.xml
#	presentation/src/main/res/values-night/themes.xml
#	presentation/src/main/res/values-nl/strings.xml
#	presentation/src/main/res/values-ru/strings.xml
#	presentation/src/main/res/values-sk/strings.xml
#	presentation/src/main/res/values-sr/strings.xml
#	presentation/src/main/res/values-tl/strings.xml
#	presentation/src/main/res/values-tr/strings.xml
#	presentation/src/main/res/values-uk/strings.xml
#	presentation/src/main/res/values-v27/themes.xml
#	presentation/src/main/res/values-vi/strings.xml
#	presentation/src/main/res/values-zh-rCN/strings.xml
#	presentation/src/main/res/values-zh/strings.xml
#	presentation/src/main/res/values/colors.xml
#	presentation/src/main/res/values/themes.xml
parents 0171bd6d c86ea108
Loading
Loading
Loading
Loading
Loading

.circleci/config.yml

0 → 100644
+85 −0
Original line number Diff line number Diff line
version: 2

jobs:
  build:
    working_directory: ~/code
    docker:
      - image: circleci/android:api-29
    steps:
      - checkout
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "presentation/build.gradle" }}-{{ checksum  "data/build.gradle" }}-{{ checksum  "domain/build.gradle" }}
      - run:
          name: Download dependencies
          command: ./gradlew androidDependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "presentation/build.gradle" }}-{{ checksum  "data/build.gradle" }}-{{ checksum  "domain/build.gradle" }}
      - run:
          name: Decrypt and unzip secrets
          command: |
            openssl aes-256-cbc -d -in secrets.tar.enc -md sha1 -k ${SECRETS_KEY} -iv ${SECRETS_IV} >> secrets.tar
            tar xvf secrets.tar
      - run:
          name: Gradle build
          command: ./gradlew :presentation:assembleWithAnalyticsRelease :presentation:bundleWithAnalyticsRelease
      - run:
          name: Flatten outputs
          command: find presentation/build/outputs -mindepth 2 -type f -exec mv -i '{}' presentation/build/outputs/ ';'
      - store_artifacts:
          path: presentation/build/outputs
      - persist_to_workspace:
          root: presentation/build/outputs
          paths: .

  test:
    working_directory: ~/code
    docker:
      - image: circleci/android:api-29
    steps:
      - checkout
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "presentation/build.gradle" }}-{{ checksum  "data/build.gradle" }}-{{ checksum  "domain/build.gradle" }}
      - run:
          name: Download dependencies
          command: ./gradlew androidDependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "presentation/build.gradle" }}-{{ checksum  "data/build.gradle" }}-{{ checksum  "domain/build.gradle" }}
      - store_test_results:
          path: presentation/build/test-results

  deploy:
    docker:
      - image: cibuilds/github:0.10
    steps:
      - attach_workspace:
          at: presentation/build/outputs
      - run:
          name: "Publish Release on GitHub"
          command: ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} ${CIRCLE_TAG} presentation/build/outputs/

workflows:
  version: 2
  main:
    jobs:
      - build:
          filters:
            tags:
              only: /^v.*/
      - test:
          requires:
            - build
          filters:
            tags:
              only: /^v.*/
      - deploy:
          requires:
            - test
          filters:
            branches:
              ignore: /.*/
            tags:
              only: /^v.*/
+1 −1
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ public class DownloadRequest extends MmsRequest {
//            }
            // Store the downloaded message
            final PduPersister persister = PduPersister.getPduPersister(context);
            final Uri messageUri = persister.persist(pdu, Telephony.Mms.Inbox.CONTENT_URI, true, true, null);
            final Uri messageUri = persister.persist(pdu, Telephony.Mms.Inbox.CONTENT_URI, PduPersister.DUMMY_THREAD_ID, true, true, null);
            if (messageUri == null) {
                Timber.e("DownloadRequest.persistIfRequired: can not persist message");
                return null;
+0 −2
Original line number Diff line number Diff line
@@ -80,8 +80,6 @@ public class DownloadManager {
        String httpParams = MmsConfig.getHttpParams();
        if (!TextUtils.isEmpty(httpParams)) {
            configOverrides.putString(SmsManager.MMS_CONFIG_HTTP_PARAMS, httpParams);
        } else {
            configOverrides = smsManager.getCarrierConfigValues();
        }

        grantUriPermission(context, contentUri);
+4 −5
Original line number Diff line number Diff line
@@ -110,9 +110,8 @@ public class NotificationTransaction extends Transaction implements Runnable {
        try {
            // Save the pdu. If we can start downloading the real pdu immediately, don't allow
            // persist() to create a thread for the notificationInd because it causes UI jank.
            mUri = PduPersister.getPduPersister(context).persist(
                        ind, Inbox.CONTENT_URI, !allowAutoDownload(mContext),
                    true, null);
            mUri = PduPersister.getPduPersister(context).persist(ind, Inbox.CONTENT_URI,
                    PduPersister.DUMMY_THREAD_ID, !allowAutoDownload(mContext), true, null);
        } catch (MmsException e) {
            Timber.e(e, "Failed to save NotificationInd in constructor.");
            throw new IllegalArgumentException();
@@ -185,8 +184,8 @@ public class NotificationTransaction extends Transaction implements Runnable {
                } else {
                    // Save the received PDU (must be a M-RETRIEVE.CONF).
                    PduPersister p = PduPersister.getPduPersister(mContext);
                    Uri uri = p.persist(pdu, Inbox.CONTENT_URI, true,
                            true, null);
                    Uri uri = p.persist(pdu, Inbox.CONTENT_URI, PduPersister.DUMMY_THREAD_ID,
                            true, true, null);

                    RetrieveConf retrieveConf = (RetrieveConf) pdu;

+4 −3
Original line number Diff line number Diff line
@@ -107,8 +107,8 @@ public class PushReceiver extends BroadcastReceiver {
                            break;
                        }

                        Uri uri = p.persist(pdu, Uri.parse("content://mms/inbox"), true,
                                true, null);
                        Uri uri = p.persist(pdu, Uri.parse("content://mms/inbox"),
                                PduPersister.DUMMY_THREAD_ID, true, true, null);
                        // Update thread ID for ReadOrigInd & DeliveryInd.
                        ContentValues values = new ContentValues(1);
                        values.put(Mms.THREAD_ID, threadId);
@@ -136,7 +136,8 @@ public class PushReceiver extends BroadcastReceiver {
                            // Save the pdu. If we can start downloading the real pdu immediately,
                            // don't allow persist() to create a thread for the notificationInd
                            // because it causes UI jank.
                            Uri uri = p.persist(pdu, Inbox.CONTENT_URI, true, true, null);
                            Uri uri = p.persist(pdu, Inbox.CONTENT_URI,
                                    PduPersister.DUMMY_THREAD_ID, true, true, null);

                            String location = getContentLocation(mContext, uri);
                            if (downloadedUrls.contains(location)) {
Loading