166b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall/* 266b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * Copyright (C) 2015 The Android Open Source Project 366b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * 466b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * Licensed under the Apache License, Version 2.0 (the "License"); 566b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * you may not use this file except in compliance with the License. 666b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * You may obtain a copy of the License at 766b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * 866b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * http://www.apache.org/licenses/LICENSE-2.0 966b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * 1066b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * Unless required by applicable law or agreed to in writing, software 1166b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * distributed under the License is distributed on an "AS IS" BASIS, 1266b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1366b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * See the License for the specific language governing permissions and 1466b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall * limitations under the License. 1566b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall */ 1666b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall 1766b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallpackage com.android.camera.one.v2.errorhandling; 1866b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall 1966b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallimport com.android.camera.stats.UsageStatistics; 2066b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallimport com.android.camera.util.Callback; 2166b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallimport com.google.common.logging.eventprotos; 2266b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall 2366b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallimport javax.annotation.Nonnull; 2466b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallimport javax.annotation.ParametersAreNonnullByDefault; 2566b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall 2666b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall@ParametersAreNonnullByDefault 2766b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallfinal class RecoverySuccessCallback implements Callback<String> { 2866b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall private final UsageStatistics mUsageStats; 2966b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall 3066b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall RecoverySuccessCallback(UsageStatistics usageStats) { 3166b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall mUsageStats = usageStats; 3266b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall } 3366b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall 3466b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall @Override 3566b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall public void onCallback(@Nonnull String successfulRecoveryStrategyName) { 3666b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall // Log Success 3766b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall mUsageStats.cameraFailure(eventprotos.CameraFailure.FailureReason.UNKNOWN_REASON, 3866b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall "api2_repeated_failure_recovery_success", UsageStatistics.NONE, UsageStatistics 3966b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall .NONE); 4066b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall } 4166b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lall} 42