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