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 22 /** 23 * Test implementation of {@link UserEventLogger}. 24 */ 25 public class TestUserEventLogger implements UserEventLogger { 26 27 private int mNumDailyRefreshTurnedOnEvents; 28 private int mNumCurrentWallpaperPreviewedEvents; 29 private int mNumActionClickedEvents; 30 private int mNumIndividualWallpaperSelectedEvents; 31 private int mNumCategorySelectedEvents; 32 private int mNumWallpaperSetEvents; 33 private int mNumWallpaperSetResultEvents; 34 private String mLastCollectionId; 35 private String mLastWallpaperId; 36 @WallpaperSetResult 37 private int mLastWallpaperSetResult; 38 private int mLastDailyRotationHour; 39 private int mNum1DayActiveLogs; 40 private int mNum7DayActiveLogs; 41 private int mNum14DayActiveLogs; 42 private int mNum28DayActiveLogs; 43 private int mLastDailyWallpaperRotationStatus; 44 private int mNumDaysDailyRotationFailed; 45 private int mNumDaysDailyRotationNotAttempted; 46 private int mLastDailyWallpaperUpdateResult; 47 private int mStandalonePreviewLaunches; 48 private int mNumRestores; 49 private String mWallpaperSetEffects; 50 private String mWallpaperApplyEffect; 51 private int mWallpaperApplyEffectStatus; 52 private long mTimeElapsedMillis; 53 private int mResultCode; 54 private String mWallpaperProbeEffect; 55 private int mWallpaperProbeStatus; 56 TestUserEventLogger()57 public TestUserEventLogger() { 58 mLastDailyRotationHour = -1; 59 mLastDailyWallpaperRotationStatus = -1; 60 mNumDaysDailyRotationFailed = -1; 61 mNumDaysDailyRotationNotAttempted = -1; 62 } 63 64 @Override logResumed(boolean provisioned, boolean wallpaper)65 public void logResumed(boolean provisioned, boolean wallpaper) { 66 67 } 68 69 @Override logStopped()70 public void logStopped() { 71 72 } 73 74 @Override logAppLaunched(Intent launchSource)75 public void logAppLaunched(Intent launchSource) { 76 // Do nothing. 77 } 78 79 @Override logDailyRefreshTurnedOn()80 public void logDailyRefreshTurnedOn() { 81 mNumDailyRefreshTurnedOnEvents++; 82 } 83 getNumDailyRefreshTurnedOnEvents()84 public int getNumDailyRefreshTurnedOnEvents() { 85 return mNumDailyRefreshTurnedOnEvents; 86 } 87 88 @Override logCurrentWallpaperPreviewed()89 public void logCurrentWallpaperPreviewed() { 90 mNumCurrentWallpaperPreviewedEvents++; 91 } 92 93 @Override logActionClicked(String collectionId, int actionLabelResId)94 public void logActionClicked(String collectionId, int actionLabelResId) { 95 mNumActionClickedEvents++; 96 mLastCollectionId = collectionId; 97 } 98 getNumCurrentWallpaperPreviewedEvents()99 public int getNumCurrentWallpaperPreviewedEvents() { 100 return mNumCurrentWallpaperPreviewedEvents; 101 } 102 getNumActionClickedEvents()103 public int getNumActionClickedEvents() { 104 return mNumActionClickedEvents; 105 } 106 107 @Override logIndividualWallpaperSelected(String collectionId)108 public void logIndividualWallpaperSelected(String collectionId) { 109 mNumIndividualWallpaperSelectedEvents++; 110 mLastCollectionId = collectionId; 111 } 112 getNumIndividualWallpaperSelectedEvents()113 public int getNumIndividualWallpaperSelectedEvents() { 114 return mNumIndividualWallpaperSelectedEvents; 115 } 116 117 @Override logCategorySelected(String collectionId)118 public void logCategorySelected(String collectionId) { 119 mNumCategorySelectedEvents++; 120 mLastCollectionId = collectionId; 121 } 122 123 @Override logSnapshot()124 public void logSnapshot() { 125 // No-op 126 } 127 getNumCategorySelectedEvents()128 public int getNumCategorySelectedEvents() { 129 return mNumCategorySelectedEvents; 130 } 131 132 @Override logWallpaperSet(String collectionId, String wallpaperId, String effects)133 public void logWallpaperSet(String collectionId, String wallpaperId, String effects) { 134 mNumWallpaperSetEvents++; 135 mLastCollectionId = collectionId; 136 mLastWallpaperId = wallpaperId; 137 mWallpaperSetEffects = effects; 138 } 139 140 @Override logWallpaperSetResult(@allpaperSetResult int result)141 public void logWallpaperSetResult(@WallpaperSetResult int result) { 142 mNumWallpaperSetResultEvents++; 143 mLastWallpaperSetResult = result; 144 } 145 146 @Override logWallpaperSetFailureReason(@allpaperSetFailureReason int reason)147 public void logWallpaperSetFailureReason(@WallpaperSetFailureReason int reason) { 148 // No-op 149 } 150 151 152 @Override logNumDailyWallpaperRotationsInLastWeek()153 public void logNumDailyWallpaperRotationsInLastWeek() { 154 // No-op 155 } 156 157 @Override logNumDailyWallpaperRotationsPreviousDay()158 public void logNumDailyWallpaperRotationsPreviousDay() { 159 // No-op 160 } 161 162 @Override logDailyWallpaperRotationHour(int hour)163 public void logDailyWallpaperRotationHour(int hour) { 164 mLastDailyRotationHour = hour; 165 } 166 167 @Override logDailyWallpaperDecodes(boolean decodes)168 public void logDailyWallpaperDecodes(boolean decodes) { 169 // No-op 170 } 171 172 @Override logRefreshDailyWallpaperButtonClicked()173 public void logRefreshDailyWallpaperButtonClicked() { 174 // No-op 175 } 176 177 @Override logDailyWallpaperRotationStatus(int status)178 public void logDailyWallpaperRotationStatus(int status) { 179 mLastDailyWallpaperRotationStatus = status; 180 } 181 182 @Override logDailyWallpaperSetNextWallpaperResult(@ailyWallpaperUpdateResult int result)183 public void logDailyWallpaperSetNextWallpaperResult(@DailyWallpaperUpdateResult int result) { 184 mLastDailyWallpaperUpdateResult = result; 185 } 186 187 @Override logDailyWallpaperSetNextWallpaperCrash(@ailyWallpaperUpdateCrash int crash)188 public void logDailyWallpaperSetNextWallpaperCrash(@DailyWallpaperUpdateCrash int crash) { 189 // No-op 190 } 191 192 @Override logNumDaysDailyRotationFailed(int days)193 public void logNumDaysDailyRotationFailed(int days) { 194 mNumDaysDailyRotationFailed = days; 195 } 196 197 @Override logDailyWallpaperMetadataRequestFailure( @ailyWallpaperMetadataFailureReason int reason)198 public void logDailyWallpaperMetadataRequestFailure( 199 @DailyWallpaperMetadataFailureReason int reason) { 200 // No-op 201 } 202 203 @Override logNumDaysDailyRotationNotAttempted(int days)204 public void logNumDaysDailyRotationNotAttempted(int days) { 205 mNumDaysDailyRotationNotAttempted = days; 206 } 207 208 @Override logStandalonePreviewLaunched()209 public void logStandalonePreviewLaunched() { 210 mStandalonePreviewLaunches++; 211 } 212 213 @Override logStandalonePreviewImageUriHasReadPermission(boolean isReadPermissionGranted)214 public void logStandalonePreviewImageUriHasReadPermission(boolean isReadPermissionGranted) { 215 // No-op 216 } 217 218 @Override logStandalonePreviewStorageDialogApproved(boolean isApproved)219 public void logStandalonePreviewStorageDialogApproved(boolean isApproved) { 220 // No-op 221 } 222 223 @Override logWallpaperPresentationMode()224 public void logWallpaperPresentationMode() { 225 // No-op 226 } 227 228 @Override logRestored()229 public void logRestored() { 230 mNumRestores++; 231 } 232 233 @Override logEffectApply(String effect, int status, long timeElapsedMillis, int resultCode)234 public void logEffectApply(String effect, int status, long timeElapsedMillis, int resultCode) { 235 mWallpaperApplyEffect = effect; 236 mWallpaperApplyEffectStatus = status; 237 mTimeElapsedMillis = timeElapsedMillis; 238 mResultCode = resultCode; 239 } 240 241 @Override logEffectProbe(String effect, @EffectStatus int status)242 public void logEffectProbe(String effect, @EffectStatus int status) { 243 mWallpaperProbeEffect = effect; 244 mWallpaperProbeStatus = status; 245 } 246 247 @Override logEffectForegroundDownload(String effect, int status, long timeElapsedMillis)248 public void logEffectForegroundDownload(String effect, int status, long timeElapsedMillis) { 249 // No-op 250 } 251 getNumWallpaperSetEvents()252 public int getNumWallpaperSetEvents() { 253 return mNumWallpaperSetEvents; 254 } 255 getLastCollectionId()256 public String getLastCollectionId() { 257 return mLastCollectionId; 258 } 259 getLastWallpaperId()260 public String getLastWallpaperId() { 261 return mLastWallpaperId; 262 } 263 getNumWallpaperSetResultEvents()264 public int getNumWallpaperSetResultEvents() { 265 return mNumWallpaperSetResultEvents; 266 } 267 268 @WallpaperSetResult getLastWallpaperSetResult()269 public int getLastWallpaperSetResult() { 270 return mLastWallpaperSetResult; 271 } 272 getLastDailyRotationHour()273 public int getLastDailyRotationHour() { 274 return mLastDailyRotationHour; 275 } 276 getNum1DayActiveLogs()277 public int getNum1DayActiveLogs() { 278 return mNum1DayActiveLogs; 279 } 280 getNum7DayActiveLogs()281 public int getNum7DayActiveLogs() { 282 return mNum7DayActiveLogs; 283 } 284 getNum14DayActiveLogs()285 public int getNum14DayActiveLogs() { 286 return mNum14DayActiveLogs; 287 } 288 getNum28DayActiveLogs()289 public int getNum28DayActiveLogs() { 290 return mNum28DayActiveLogs; 291 } 292 getLastDailyWallpaperRotationStatus()293 public int getLastDailyWallpaperRotationStatus() { 294 return mLastDailyWallpaperRotationStatus; 295 } 296 getNumDaysDailyRotationFailed()297 public int getNumDaysDailyRotationFailed() { 298 return mNumDaysDailyRotationFailed; 299 } 300 getNumDaysDailyRotationNotAttempted()301 public int getNumDaysDailyRotationNotAttempted() { 302 return mNumDaysDailyRotationNotAttempted; 303 } 304 getLastDailyWallpaperUpdateResult()305 public int getLastDailyWallpaperUpdateResult() { 306 return mLastDailyWallpaperUpdateResult; 307 } 308 getStandalonePreviewLaunches()309 public int getStandalonePreviewLaunches() { 310 return mStandalonePreviewLaunches; 311 } 312 getNumRestores()313 public int getNumRestores() { 314 return mNumRestores; 315 } 316 } 317