From a6e7ff6c2532196cde14422b9a158ed1c2e54254 Mon Sep 17 00:00:00 2001 From: Android Dialer Date: Fri, 9 Feb 2018 13:16:56 -0800 Subject: internal change Bug: 68825005 Test: Added unit tests for CallFeedbackActivity.java PiperOrigin-RevId: 185183043 Change-Id: Ida17f8e2284388439fc482da47cdc7a19551af00 --- .../android/dialer/feedback/FeedbackComponent.java | 3 ++ .../android/dialer/feedback/FeedbackSender.java | 24 +++++++++++++++ .../dialer/feedback/stub/FeedbackSenderStub.java | 35 ++++++++++++++++++++++ .../dialer/feedback/stub/StubFeedbackModule.java | 15 ++++++++++ 4 files changed, 77 insertions(+) create mode 100644 java/com/android/dialer/feedback/FeedbackSender.java create mode 100644 java/com/android/dialer/feedback/stub/FeedbackSenderStub.java diff --git a/java/com/android/dialer/feedback/FeedbackComponent.java b/java/com/android/dialer/feedback/FeedbackComponent.java index e3863d7fb..3c7819760 100644 --- a/java/com/android/dialer/feedback/FeedbackComponent.java +++ b/java/com/android/dialer/feedback/FeedbackComponent.java @@ -28,6 +28,9 @@ public abstract class FeedbackComponent { @NonNull public abstract CallList.Listener getCallFeedbackListener(); + @NonNull + public abstract FeedbackSender getCallFeedbackSender(); + public static FeedbackComponent get(Context context) { return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component()) .feedbackComponent(); diff --git a/java/com/android/dialer/feedback/FeedbackSender.java b/java/com/android/dialer/feedback/FeedbackSender.java new file mode 100644 index 000000000..8f402099c --- /dev/null +++ b/java/com/android/dialer/feedback/FeedbackSender.java @@ -0,0 +1,24 @@ +/* + * 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.dialer.feedback; + +/** Defines the apis provided by the class handling uploading of feedback. */ +public interface FeedbackSender { + void sendFeedback(Object feedbackOptions); + + Object getFeedbackOptionsBuilder(); +} diff --git a/java/com/android/dialer/feedback/stub/FeedbackSenderStub.java b/java/com/android/dialer/feedback/stub/FeedbackSenderStub.java new file mode 100644 index 000000000..cde7a99c2 --- /dev/null +++ b/java/com/android/dialer/feedback/stub/FeedbackSenderStub.java @@ -0,0 +1,35 @@ +/* + * 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.dialer.feedback.stub; + +import com.android.dialer.feedback.FeedbackSender; +import javax.inject.Inject; + +/** Stub module that is returned if the Feedback module is not enabled. */ +public class FeedbackSenderStub implements FeedbackSender { + + @Inject + public FeedbackSenderStub() {} + + @Override + public void sendFeedback(Object feedbackOptions) {} + + @Override + public Object getFeedbackOptionsBuilder() { + return null; + } +} diff --git a/java/com/android/dialer/feedback/stub/StubFeedbackModule.java b/java/com/android/dialer/feedback/stub/StubFeedbackModule.java index 61ee413ce..49df09a04 100644 --- a/java/com/android/dialer/feedback/stub/StubFeedbackModule.java +++ b/java/com/android/dialer/feedback/stub/StubFeedbackModule.java @@ -18,7 +18,11 @@ package com.android.dialer.feedback.stub; import android.content.Context; import com.android.dialer.common.LogUtil; +import com.android.dialer.feedback.FeedbackSender; import com.android.dialer.inject.ApplicationContext; +import com.android.dialer.logging.LoggingBindings; +import com.android.dialer.logging.LoggingBindingsFactory; +import com.android.dialer.logging.LoggingBindingsStub; import com.android.incallui.call.CallList; import dagger.Module; import dagger.Provides; @@ -27,6 +31,17 @@ import dagger.Provides; @Module public class StubFeedbackModule { + @Provides + static LoggingBindings provideLoggingBindings(LoggingBindingsFactory factory) { + return new LoggingBindingsStub(); + } + + @Provides + static FeedbackSender provideCallFeedbackSender() { + LogUtil.i("StubFeedbackModule.provideCallFeedbackSender", "return stub"); + return new FeedbackSenderStub(); + } + @Provides static CallList.Listener provideCallFeedbackListener(@ApplicationContext Context context) { LogUtil.i("StubFeedbackModule.provideCallFeedbackListener", "returning stub"); -- cgit v1.2.3