1 /*
2  * Copyright (C) 2019 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.android.wallpaper.testing;
17 
18 import android.content.Intent;
19 
20 import com.android.wallpaper.module.UserEventLogger;
21 import com.android.wallpaper.module.WallpaperPersister.WallpaperPosition;
22 
23 /**
24  * Test implementation of {@link UserEventLogger}.
25  */
26 public class TestUserEventLogger implements UserEventLogger {
27 
28     private int mNumDailyRefreshTurnedOnEvents;
29     private int mNumCurrentWallpaperPreviewedEvents;
30     private int mNumActionClickedEvents;
31     private int mNumIndividualWallpaperSelectedEvents;
32     private int mNumCategorySelectedEvents;
33     private int mNumWallpaperSetEvents;
34     private int mNumWallpaperSetResultEvents;
35     private String mLastCollectionId;
36     private String mLastWallpaperId;
37     @WallpaperSetResult
38     private int mLastWallpaperSetResult;
39     private int mLastDailyRotationHour;
40     private int mNum1DayActiveLogs;
41     private int mNum7DayActiveLogs;
42     private int mNum14DayActiveLogs;
43     private int mNum28DayActiveLogs;
44     private int mLastDailyWallpaperRotationStatus;
45     private int mNumDaysDailyRotationFailed;
46     private int mNumDaysDailyRotationNotAttempted;
47     private int mLastDailyWallpaperUpdateResult;
48     private int mStandalonePreviewLaunches;
49     private int mNumRestores;
50     @WallpaperPosition
51     private int mWallpaperPosition;
52 
TestUserEventLogger()53     public TestUserEventLogger() {
54         mLastDailyRotationHour = -1;
55         mLastDailyWallpaperRotationStatus = -1;
56         mNumDaysDailyRotationFailed = -1;
57         mNumDaysDailyRotationNotAttempted = -1;
58     }
59 
60     @Override
logResumed(boolean provisioned, boolean wallpaper)61     public void logResumed(boolean provisioned, boolean wallpaper) {
62 
63     }
64 
65     @Override
logStopped()66     public void logStopped() {
67 
68     }
69 
70     @Override
logAppLaunched(Intent launchSource)71     public void logAppLaunched(Intent launchSource) {
72         // Do nothing.
73     }
74 
75     @Override
logDailyRefreshTurnedOn()76     public void logDailyRefreshTurnedOn() {
77         mNumDailyRefreshTurnedOnEvents++;
78     }
79 
getNumDailyRefreshTurnedOnEvents()80     public int getNumDailyRefreshTurnedOnEvents() {
81         return mNumDailyRefreshTurnedOnEvents;
82     }
83 
84     @Override
logCurrentWallpaperPreviewed()85     public void logCurrentWallpaperPreviewed() {
86         mNumCurrentWallpaperPreviewedEvents++;
87     }
88 
89     @Override
logActionClicked(String collectionId, int actionLabelResId)90     public void logActionClicked(String collectionId, int actionLabelResId) {
91         mNumActionClickedEvents++;
92         mLastCollectionId = collectionId;
93     }
94 
getNumCurrentWallpaperPreviewedEvents()95     public int getNumCurrentWallpaperPreviewedEvents() {
96         return mNumCurrentWallpaperPreviewedEvents;
97     }
98 
getNumActionClickedEvents()99     public int getNumActionClickedEvents() {
100         return mNumActionClickedEvents;
101     }
102 
103     @Override
logIndividualWallpaperSelected(String collectionId)104     public void logIndividualWallpaperSelected(String collectionId) {
105         mNumIndividualWallpaperSelectedEvents++;
106         mLastCollectionId = collectionId;
107     }
108 
getNumIndividualWallpaperSelectedEvents()109     public int getNumIndividualWallpaperSelectedEvents() {
110         return mNumIndividualWallpaperSelectedEvents;
111     }
112 
113     @Override
logCategorySelected(String collectionId)114     public void logCategorySelected(String collectionId) {
115         mNumCategorySelectedEvents++;
116         mLastCollectionId = collectionId;
117     }
118 
119     @Override
logLiveWallpaperInfoSelected(String collectionId, String wallpaperId)120     public void logLiveWallpaperInfoSelected(String collectionId, String wallpaperId) {
121         // No-op
122     }
123 
124     @Override
logLiveWallpaperCustomizeSelected(String collectionId, String wallpaperId)125     public void logLiveWallpaperCustomizeSelected(String collectionId, String wallpaperId) {
126         // No-op
127     }
128 
129     @Override
logSnapshot()130     public void logSnapshot() {
131         // No-op
132     }
133 
getNumCategorySelectedEvents()134     public int getNumCategorySelectedEvents() {
135         return mNumCategorySelectedEvents;
136     }
137 
138     @Override
logWallpaperSet(String collectionId, String wallpaperId)139     public void logWallpaperSet(String collectionId, String wallpaperId) {
140         mNumWallpaperSetEvents++;
141         mLastCollectionId = collectionId;
142         mLastWallpaperId = wallpaperId;
143     }
144 
145     @Override
logWallpaperSetResult(@allpaperSetResult int result)146     public void logWallpaperSetResult(@WallpaperSetResult int result) {
147         mNumWallpaperSetResultEvents++;
148         mLastWallpaperSetResult = result;
149     }
150 
151     @Override
logWallpaperSetFailureReason(@allpaperSetFailureReason int reason)152     public void logWallpaperSetFailureReason(@WallpaperSetFailureReason int reason) {
153         // No-op
154     }
155 
156 
157     @Override
logNumDailyWallpaperRotationsInLastWeek()158     public void logNumDailyWallpaperRotationsInLastWeek() {
159         // No-op
160     }
161 
162     @Override
logNumDailyWallpaperRotationsPreviousDay()163     public void logNumDailyWallpaperRotationsPreviousDay() {
164         // No-op
165     }
166 
167     @Override
logDailyWallpaperRotationHour(int hour)168     public void logDailyWallpaperRotationHour(int hour) {
169         mLastDailyRotationHour = hour;
170     }
171 
172     @Override
logDailyWallpaperDecodes(boolean decodes)173     public void logDailyWallpaperDecodes(boolean decodes) {
174         // No-op
175     }
176 
177     @Override
logRefreshDailyWallpaperButtonClicked()178     public void logRefreshDailyWallpaperButtonClicked() {
179         // No-op
180     }
181 
182     @Override
logDailyWallpaperRotationStatus(int status)183     public void logDailyWallpaperRotationStatus(int status) {
184         mLastDailyWallpaperRotationStatus = status;
185     }
186 
187     @Override
logDailyWallpaperSetNextWallpaperResult(@ailyWallpaperUpdateResult int result)188     public void logDailyWallpaperSetNextWallpaperResult(@DailyWallpaperUpdateResult int result) {
189         mLastDailyWallpaperUpdateResult = result;
190     }
191 
192     @Override
logDailyWallpaperSetNextWallpaperCrash(@ailyWallpaperUpdateCrash int crash)193     public void logDailyWallpaperSetNextWallpaperCrash(@DailyWallpaperUpdateCrash int crash) {
194         // No-op
195     }
196 
197     @Override
logNumDaysDailyRotationFailed(int days)198     public void logNumDaysDailyRotationFailed(int days) {
199         mNumDaysDailyRotationFailed = days;
200     }
201 
202     @Override
logDailyWallpaperMetadataRequestFailure( @ailyWallpaperMetadataFailureReason int reason)203     public void logDailyWallpaperMetadataRequestFailure(
204             @DailyWallpaperMetadataFailureReason int reason) {
205         // No-op
206     }
207 
208     @Override
logNumDaysDailyRotationNotAttempted(int days)209     public void logNumDaysDailyRotationNotAttempted(int days) {
210         mNumDaysDailyRotationNotAttempted = days;
211     }
212 
213     @Override
logStandalonePreviewLaunched()214     public void logStandalonePreviewLaunched() {
215         mStandalonePreviewLaunches++;
216     }
217 
218     @Override
logStandalonePreviewImageUriHasReadPermission(boolean isReadPermissionGranted)219     public void logStandalonePreviewImageUriHasReadPermission(boolean isReadPermissionGranted) {
220         // No-op
221     }
222 
223     @Override
logStandalonePreviewStorageDialogApproved(boolean isApproved)224     public void logStandalonePreviewStorageDialogApproved(boolean isApproved) {
225         // No-op
226     }
227 
228     @Override
logWallpaperPresentationMode()229     public void logWallpaperPresentationMode() {
230         // No-op
231     }
232 
233     @Override
logRestored()234     public void logRestored() {
235         mNumRestores++;
236     }
237 
getNumWallpaperSetEvents()238     public int getNumWallpaperSetEvents() {
239         return mNumWallpaperSetEvents;
240     }
241 
getLastCollectionId()242     public String getLastCollectionId() {
243         return mLastCollectionId;
244     }
245 
getLastWallpaperId()246     public String getLastWallpaperId() {
247         return mLastWallpaperId;
248     }
249 
getNumWallpaperSetResultEvents()250     public int getNumWallpaperSetResultEvents() {
251         return mNumWallpaperSetResultEvents;
252     }
253 
254     @WallpaperSetResult
getLastWallpaperSetResult()255     public int getLastWallpaperSetResult() {
256         return mLastWallpaperSetResult;
257     }
258 
getLastDailyRotationHour()259     public int getLastDailyRotationHour() {
260         return mLastDailyRotationHour;
261     }
262 
getNum1DayActiveLogs()263     public int getNum1DayActiveLogs() {
264         return mNum1DayActiveLogs;
265     }
266 
getNum7DayActiveLogs()267     public int getNum7DayActiveLogs() {
268         return mNum7DayActiveLogs;
269     }
270 
getNum14DayActiveLogs()271     public int getNum14DayActiveLogs() {
272         return mNum14DayActiveLogs;
273     }
274 
getNum28DayActiveLogs()275     public int getNum28DayActiveLogs() {
276         return mNum28DayActiveLogs;
277     }
278 
getLastDailyWallpaperRotationStatus()279     public int getLastDailyWallpaperRotationStatus() {
280         return mLastDailyWallpaperRotationStatus;
281     }
282 
getNumDaysDailyRotationFailed()283     public int getNumDaysDailyRotationFailed() {
284         return mNumDaysDailyRotationFailed;
285     }
286 
getNumDaysDailyRotationNotAttempted()287     public int getNumDaysDailyRotationNotAttempted() {
288         return mNumDaysDailyRotationNotAttempted;
289     }
290 
getLastDailyWallpaperUpdateResult()291     public int getLastDailyWallpaperUpdateResult() {
292         return mLastDailyWallpaperUpdateResult;
293     }
294 
getStandalonePreviewLaunches()295     public int getStandalonePreviewLaunches() {
296         return mStandalonePreviewLaunches;
297     }
298 
getNumRestores()299     public int getNumRestores() {
300         return mNumRestores;
301     }
302 
getWallpaperPosition()303     public int getWallpaperPosition() {
304         return mWallpaperPosition;
305     }
306 }
307