/* * Copyright (c) 2015, Nils Braden * * This file is part of ttrss-reader-fork. This program is free software; you * can redistribute it and/or modify it under the terms of the GNU * General Public License as published by the Free Software Foundation; * either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. You should have received a * copy of the GNU General Public License along with this program; If * not, see http://www.gnu.org/licenses/. */ package org.ttrssreader.gui; import org.ttrssreader.R; import org.ttrssreader.controllers.Controller; import org.ttrssreader.utils.PostMortemReportExceptionHandler; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class ErrorActivity extends Activity { @SuppressWarnings("unused") private static final String TAG = ErrorActivity.class.getSimpleName(); private PostMortemReportExceptionHandler mDamageReport = new PostMortemReportExceptionHandler(this); public static final int ACTIVITY_SHOW_ERROR = 42; static final int ACTIVITY_EXIT = 40; public static final String ERROR_MESSAGE = "ERROR_MESSAGE"; private String message; @Override protected void onCreate(Bundle savedInstanceState) { setTheme(Controller.getInstance().getTheme()); super.onCreate(savedInstanceState); mDamageReport.initialize(); setContentView(R.layout.error); Bundle extras = getIntent().getExtras(); if (extras != null) { message = extras.getString(ERROR_MESSAGE); } else if (savedInstanceState != null) { message = savedInstanceState.getString(ERROR_MESSAGE); } TextView errorText = (TextView) this.findViewById(R.id.ErrorActivity_ErrorMessage); errorText.setText(message); Button prefBtn = (Button) this.findViewById(R.id.Preferences_Btn); prefBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { finish(); openPreferences(); } }); Button exitBtn = (Button) this.findViewById(R.id.ErrorActivity_ExitBtn); exitBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { exitButtonPressed(); } }); Button closeBtn = (Button) this.findViewById(R.id.ErrorActivity_CloseBtn); closeBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { closeButtonPressed(); } }); } @Override protected void onDestroy() { mDamageReport.restoreOriginalHandler(); mDamageReport = null; super.onDestroy(); } private void exitButtonPressed() { setResult(ACTIVITY_EXIT); finish(); } private void closeButtonPressed() { setResult(ACTIVITY_SHOW_ERROR); finish(); } private void openPreferences() { startActivity(new Intent(this, PreferencesActivity.class)); } }