summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-02-06 12:12:49 -0800
committerCopybara-Service <copybara-piper@google.com>2018-02-06 14:18:46 -0800
commit220e2fc09e9cb62dfe859cf63b8fcca0f6d9bca4 (patch)
tree06c04a7b6802ea1d530bad8234889859d8f0a0cc
parent148a3935f0be5ffae2e18258f6a5a68d4c608546 (diff)
Implemented GoogleMainActivity.
This Activity is only visible if you flip the flag in the AndroidManifest. Bug: 72525324 Test: implemented PiperOrigin-RevId: 184719387 Change-Id: I88d7ee1be537cbe5aa5cd4ee5a8f84d56bddb757
-rw-r--r--java/com/android/dialer/configprovider/ConfigProviderComponent.java1
-rw-r--r--java/com/android/dialer/main/Main.java3
-rw-r--r--java/com/android/dialer/main/impl/MainActivity.java23
-rw-r--r--java/com/android/dialer/main/impl/MainImpl.java10
4 files changed, 26 insertions, 11 deletions
diff --git a/java/com/android/dialer/configprovider/ConfigProviderComponent.java b/java/com/android/dialer/configprovider/ConfigProviderComponent.java
index e26a5cfe4..10d52e749 100644
--- a/java/com/android/dialer/configprovider/ConfigProviderComponent.java
+++ b/java/com/android/dialer/configprovider/ConfigProviderComponent.java
@@ -26,6 +26,7 @@ import dagger.Subcomponent;
public abstract class ConfigProviderComponent {
@NonNull
+ @Deprecated // Use ConfigProviderBindings instead
public abstract ConfigProvider getConfigProvider();
public static ConfigProviderComponent get(Context context) {
diff --git a/java/com/android/dialer/main/Main.java b/java/com/android/dialer/main/Main.java
index 14ac7e439..e7295f199 100644
--- a/java/com/android/dialer/main/Main.java
+++ b/java/com/android/dialer/main/Main.java
@@ -20,8 +20,11 @@ import android.content.Context;
/** Used to display the main activity for Dialer. This hosts favorites, dial pad, search, etc... */
public interface Main {
+
boolean isNewUiEnabled(Context context);
// TODO(38502365): Remove this when we're ready to launch the new UI. */
void createNewUiLauncherShortcut(Context context);
+
+ void disableComponentForTesting(Context context);
}
diff --git a/java/com/android/dialer/main/impl/MainActivity.java b/java/com/android/dialer/main/impl/MainActivity.java
index 85f9c9f4b..ac2cb389e 100644
--- a/java/com/android/dialer/main/impl/MainActivity.java
+++ b/java/com/android/dialer/main/impl/MainActivity.java
@@ -21,7 +21,7 @@ import android.content.Intent;
import android.os.Bundle;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.configprovider.ConfigProviderComponent;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.interactions.PhoneNumberInteraction.DisambigDialogDismissedListener;
import com.android.dialer.interactions.PhoneNumberInteraction.InteractionErrorCode;
import com.android.dialer.interactions.PhoneNumberInteraction.InteractionErrorListener;
@@ -31,7 +31,7 @@ import com.android.dialer.util.TransactionSafeActivity;
/** This is the main activity for dialer. It hosts favorites, call log, search, dialpad, etc... */
// TODO(calderwoodra): Do not extend TransactionSafeActivity after new SpeedDial is launched
-public final class MainActivity extends TransactionSafeActivity
+public class MainActivity extends TransactionSafeActivity
implements MainActivityPeer.PeerSupplier,
// TODO(calderwoodra): remove these 2 interfaces when we migrate to new speed dial fragment
InteractionErrorListener,
@@ -45,9 +45,7 @@ public final class MainActivity extends TransactionSafeActivity
/** Returns intent that will open MainActivity to the specified tab. */
public static Intent getShowTabIntent(Context context, @TabIndex int tabIndex) {
- if (ConfigProviderComponent.get(context)
- .getConfigProvider()
- .getBoolean("nui_peer_enabled", false)) {
+ if (ConfigProviderBindings.get(context).getBoolean("nui_peer_enabled", false)) {
// TODO(calderwoodra): implement this in NewMainActivityPeer
return null;
}
@@ -68,14 +66,17 @@ public final class MainActivity extends TransactionSafeActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LogUtil.enterBlock("MainActivity.onCreate");
- if (ConfigProviderComponent.get(this)
- .getConfigProvider()
- .getBoolean("nui_peer_enabled", false)) {
- activePeer = new NewMainActivityPeer(this);
+ // If peer was set by the super, don't reset it.
+ activePeer = getNewPeer();
+ activePeer.onActivityCreate(savedInstanceState);
+ }
+
+ protected MainActivityPeer getNewPeer() {
+ if (ConfigProviderBindings.get(this).getBoolean("nui_peer_enabled", false)) {
+ return new NewMainActivityPeer(this);
} else {
- activePeer = new OldMainActivityPeer(this);
+ return new OldMainActivityPeer(this);
}
- activePeer.onActivityCreate(savedInstanceState);
}
@Override
diff --git a/java/com/android/dialer/main/impl/MainImpl.java b/java/com/android/dialer/main/impl/MainImpl.java
index e6d9a43ef..1cd457c8a 100644
--- a/java/com/android/dialer/main/impl/MainImpl.java
+++ b/java/com/android/dialer/main/impl/MainImpl.java
@@ -66,6 +66,16 @@ final class MainImpl implements Main {
PackageManager.DONT_KILL_APP);
}
+ @Override
+ public void disableComponentForTesting(Context context) {
+ context
+ .getPackageManager()
+ .setComponentEnabledSetting(
+ new ComponentName(context, MainActivity.class),
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP);
+ }
+
@TargetApi(VERSION_CODES.O)
private static void createLauncherShortcutO(Context context) {
ShortcutInfoCompat shortcutInfo =