17620644768ffc235607b3a94671e49518c18686fBryan Mawhinney/*
27620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * Copyright (C) 2010 ZXing authors
37620644768ffc235607b3a94671e49518c18686fBryan Mawhinney *
47620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * Licensed under the Apache License, Version 2.0 (the "License");
57620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * you may not use this file except in compliance with the License.
67620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * You may obtain a copy of the License at
77620644768ffc235607b3a94671e49518c18686fBryan Mawhinney *
87620644768ffc235607b3a94671e49518c18686fBryan Mawhinney *      http://www.apache.org/licenses/LICENSE-2.0
97620644768ffc235607b3a94671e49518c18686fBryan Mawhinney *
107620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * Unless required by applicable law or agreed to in writing, software
117620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * distributed under the License is distributed on an "AS IS" BASIS,
127620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * See the License for the specific language governing permissions and
147620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * limitations under the License.
157620644768ffc235607b3a94671e49518c18686fBryan Mawhinney */
167620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
177620644768ffc235607b3a94671e49518c18686fBryan Mawhinneypackage com.google.zxing.client.android;
187620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
197620644768ffc235607b3a94671e49518c18686fBryan Mawhinneyimport android.app.Activity;
207620644768ffc235607b3a94671e49518c18686fBryan Mawhinneyimport android.content.DialogInterface;
217620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
227620644768ffc235607b3a94671e49518c18686fBryan Mawhinney/**
237620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * Simple listener used to exit the app in a few cases.
247620644768ffc235607b3a94671e49518c18686fBryan Mawhinney *
257620644768ffc235607b3a94671e49518c18686fBryan Mawhinney * @author Sean Owen
267620644768ffc235607b3a94671e49518c18686fBryan Mawhinney */
277620644768ffc235607b3a94671e49518c18686fBryan Mawhinneypublic final class FinishListener
287620644768ffc235607b3a94671e49518c18686fBryan Mawhinney    implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener, Runnable {
297620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
307620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  private final Activity activityToFinish;
317620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
327620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  public FinishListener(Activity activityToFinish) {
337620644768ffc235607b3a94671e49518c18686fBryan Mawhinney    this.activityToFinish = activityToFinish;
347620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  }
357620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
367620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  public void onCancel(DialogInterface dialogInterface) {
377620644768ffc235607b3a94671e49518c18686fBryan Mawhinney    run();
387620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  }
397620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
407620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  public void onClick(DialogInterface dialogInterface, int i) {
417620644768ffc235607b3a94671e49518c18686fBryan Mawhinney    run();
427620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  }
437620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
447620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  public void run() {
457620644768ffc235607b3a94671e49518c18686fBryan Mawhinney    activityToFinish.finish();
467620644768ffc235607b3a94671e49518c18686fBryan Mawhinney  }
477620644768ffc235607b3a94671e49518c18686fBryan Mawhinney
487620644768ffc235607b3a94671e49518c18686fBryan Mawhinney}
49