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

Commit 68d86c65 authored by Sailesh Nepal's avatar Sailesh Nepal
Browse files

[Gradle] Allow dialer to be compiled as a library

This CL adds a new build-library.gradle file for AOSP dialer.
This allows the dialer to be built as a library that can be
included from GoogleDialer.

Switching to a library project meant making two other changes:
  - changed all switch statements that used resources to if statements.
    This was required because resource IDs are not final in library
    projects.
  - changed InCalUI code to import com.android.dialer.R instead of
    com.android.incallui.R. See http://b.android.com/82743 for more info
    on why this is required.

src-N isn't supported yet. Also, this isn't the ideal project layout.
In the future we should consider switching to the following layout:
  - dialer/incallui/ <- incall UI as an independent library project
  - dialer/dialerlib/ <- dialer code as an independent library project
  - dialer/app <- skelent app that builds a standalone dialer AOSP app

Bug: 26676586
Change-Id: I07fbee4d33cc683539e4f8b3953c93f1427af9d7
parent 7c5959bf
Loading
Loading
Loading
Loading
+74 −95
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import android.widget.PopupMenu.OnDismissListener;
import android.widget.PopupMenu.OnMenuItemClickListener;

import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
import com.android.dialer.R;
import com.android.dialer.compat.CallAudioStateCompat;

/**
@@ -199,54 +200,38 @@ public class CallButtonFragment
        int id = view.getId();
        Log.d(this, "onClick(View " + view + ", id " + id + ")...");

        switch (id) {
            case R.id.audioButton:
        if (id == R.id.audioButton) {
            onAudioButtonClicked();
                break;
            case R.id.addButton:
        } else if (id == R.id.addButton) {
            getPresenter().addCallClicked();
                break;
            case R.id.muteButton: {
        } else if (id == R.id.muteButton) {
            getPresenter().muteClicked(!mMuteButton.isSelected());
                break;
            }
            case R.id.mergeButton:
        } else if (id == R.id.mergeButton) {
            getPresenter().mergeClicked();
            mMergeButton.setEnabled(false);
                break;
            case R.id.holdButton: {
        } else if (id == R.id.holdButton) {
            getPresenter().holdClicked(!mHoldButton.isSelected());
                break;
            }
            case R.id.swapButton:
        } else if (id == R.id.swapButton) {
            getPresenter().swapClicked();
                break;
            case R.id.dialpadButton:
        } else if (id == R.id.dialpadButton) {
            getPresenter().showDialpadClicked(!mShowDialpadButton.isSelected());
                break;
            case R.id.changeToVideoButton:
        } else if (id == R.id.changeToVideoButton) {
            getPresenter().changeToVideoClicked();
                break;
            case R.id.changeToVoiceButton:
        } else if (id == R.id.changeToVoiceButton) {
            getPresenter().changeToVoiceClicked();
                break;
            case R.id.switchCameraButton:
        } else if (id == R.id.switchCameraButton) {
            getPresenter().switchCameraClicked(
                    mSwitchCameraButton.isSelected() /* useFrontFacingCamera */);
                break;
            case R.id.pauseVideoButton:
        } else if (id == R.id.pauseVideoButton) {
            getPresenter().pauseVideoClicked(
                    !mPauseVideoButton.isSelected() /* pause */);
                break;
            case R.id.overflowButton:
        } else if (id == R.id.overflowButton) {
            if (mOverflowPopup != null) {
                mOverflowPopup.show();
            }
                break;
            case R.id.manageVideoCallConferenceButton:
        } else if (id == R.id.manageVideoCallConferenceButton) {
            onManageVideoCallConferenceClicked();
                break;
            default:
        } else {
            Log.wtf(this, "onClick: unexpected");
            return;
        }
@@ -394,32 +379,31 @@ public class CallButtonFragment
    }

    private View getButtonById(int id) {
        switch (id) {
            case BUTTON_AUDIO:
        if (id == BUTTON_AUDIO) {
            return mAudioButton;
            case BUTTON_MUTE:
        } else if (id == BUTTON_MUTE) {
            return mMuteButton;
            case BUTTON_DIALPAD:
        } else if (id == BUTTON_DIALPAD) {
            return mShowDialpadButton;
            case BUTTON_HOLD:
        } else if (id == BUTTON_HOLD) {
            return mHoldButton;
            case BUTTON_SWAP:
        } else if (id == BUTTON_SWAP) {
            return mSwapButton;
            case BUTTON_UPGRADE_TO_VIDEO:
        } else if (id == BUTTON_UPGRADE_TO_VIDEO) {
            return mChangeToVideoButton;
            case BUTTON_DOWNGRADE_TO_AUDIO:
        } else if (id == BUTTON_DOWNGRADE_TO_AUDIO) {
            return mChangeToVoiceButton;
            case BUTTON_SWITCH_CAMERA:
        } else if (id == BUTTON_SWITCH_CAMERA) {
            return mSwitchCameraButton;
            case BUTTON_ADD_CALL:
        } else if (id == BUTTON_ADD_CALL) {
            return mAddCallButton;
            case BUTTON_MERGE:
        } else if (id == BUTTON_MERGE) {
            return mMergeButton;
            case BUTTON_PAUSE_VIDEO:
        } else if (id == BUTTON_PAUSE_VIDEO) {
            return mPauseVideoButton;
            case BUTTON_MANAGE_VIDEO_CONFERENCE:
        } else if (id == BUTTON_MANAGE_VIDEO_CONFERENCE) {
            return mManageVideoCallConferenceButton;
            default:
        } else {
            Log.w(this, "Invalid button id");
            return null;
        }
@@ -540,24 +524,19 @@ public class CallButtonFragment
        Log.d(this, "  title: '" + item.getTitle() + "'");

        int mode = CallAudioStateCompat.ROUTE_WIRED_OR_EARPIECE;
        int resId = item.getItemId();

        switch (item.getItemId()) {
            case R.id.audio_mode_speaker:
        if (resId == R.id.audio_mode_speaker) {
            mode = CallAudioStateCompat.ROUTE_SPEAKER;
                break;
            case R.id.audio_mode_earpiece:
            case R.id.audio_mode_wired_headset:
        } else if (resId == R.id.audio_mode_earpiece || resId == R.id.audio_mode_wired_headset) {
            // InCallCallAudioState.ROUTE_EARPIECE means either the handset earpiece,
            // or the wired headset (if connected.)
            mode = CallAudioStateCompat.ROUTE_WIRED_OR_EARPIECE;
                break;
            case R.id.audio_mode_bluetooth:
        } else if (resId == R.id.audio_mode_bluetooth) {
            mode = CallAudioStateCompat.ROUTE_BLUETOOTH;
                break;
            default:
        } else {
            Log.e(this, "onMenuItemClick:  unexpected View ID " + item.getItemId()
                    + " (MenuItem = '" + item + "')");
                break;
        }

        getPresenter().setAudioMode(mode);
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ import android.widget.Toast;
import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
import com.android.contacts.common.widget.FloatingActionButtonController;
import com.android.dialer.R;
import com.android.phone.common.animation.AnimUtils;

import java.util.List;
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.contacts.common.compat.telecom.TelecomManagerCompat;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.R;
import com.android.incallui.Call.State;
import com.android.incallui.ContactInfoCache.ContactCacheEntry;
import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback;
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.contacts.common.util.TelephonyManagerUtils;
import com.android.dialer.R;
import com.android.dialer.calllog.ContactInfoHelper;

/**
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.util.PermissionsUtil;
import com.android.contacts.common.util.TelephonyManagerUtils;
import com.android.dialer.R;
import com.android.dialer.calllog.ContactInfoHelper;
import com.android.dialer.service.CachedNumberLookupService;
import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo;
Loading