/** * Odoo, Open Source Management Solution * Copyright (C) 2012-today Odoo SA (<http:www.odoo.com>) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero 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 Affero General Public License for more details * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http:www.gnu.org/licenses/> * * Created on 9/1/15 11:33 AM */ package com.odoo.core.account; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.ActionBarActivity; import android.text.method.LinkMovementMethod; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import android.widget.Toast; import com.odoo.R; import com.odoo.base.addons.ir.IrModel; import com.odoo.core.utils.IntentUtils; import com.odoo.core.utils.OActionBarUtils; import com.odoo.core.utils.OPreferenceManager; import com.odoo.datas.OConstants; public class About extends ActionBarActivity implements View.OnClickListener { public static final String TAG = About.class.getSimpleName(); private final static String DEVELOPER_MODE = "developer_mode"; private Handler handler = null; private int click_count = 0; private Runnable runnable = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.base_about); OActionBarUtils.setActionBar(this, true); setTitle(""); findViewById(R.id.abtus_header).setOnClickListener(this); TextView versionName, aboutLine2, aboutLine3, aboutLine4; versionName = (TextView) findViewById(R.id.txvVersionName); handler = new Handler(); try { PackageManager packageManager = getPackageManager(); // setting version name from manifest file String version = packageManager.getPackageInfo( getPackageName(), 0).versionName; String versionCode = packageManager.getPackageInfo( getPackageName(), 0).versionCode + ""; versionName.setText(getResources() .getString(R.string.label_version) + " " + version + " (" + versionCode + ")"); // setting link in textView aboutLine2 = (TextView) findViewById(R.id.line2); if (aboutLine2 != null) { aboutLine2.setMovementMethod(LinkMovementMethod.getInstance()); } aboutLine3 = (TextView) findViewById(R.id.line3); if (aboutLine3 != null) { aboutLine3.setMovementMethod(LinkMovementMethod.getInstance()); } aboutLine4 = (TextView) findViewById(R.id.line4); if (aboutLine4 != null) { aboutLine4.setMovementMethod(LinkMovementMethod.getInstance()); } } catch (Exception e) { e.printStackTrace(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_about, menu); OPreferenceManager pref = new OPreferenceManager(this); if (pref.getBoolean(DEVELOPER_MODE, false)) { menu.findItem(R.id.menu_developer_mode).setVisible(true); } return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // app icon in action bar clicked; go home finish(); return true; case R.id.menu_about_our_apps: IntentUtils.openURLInBrowser(this, OConstants.URL_ODOO_APPS_ON_PLAY_STORE); return true; case R.id.menu_about_github: IntentUtils.openURLInBrowser(this, OConstants.URL_ODOO_MOBILE_GIT_HUB); return true; case R.id.menu_export_db: IrModel model = new IrModel(this, null); model.exportDB(); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onClick(View v) { if (runnable == null) { runnable = new Runnable() { public void run() { click_count = 0; } }; handler.postDelayed(runnable, 7000); } click_count = click_count + 1; if (click_count == 3) { Toast.makeText(this, R.string.developer_2_tap, Toast.LENGTH_SHORT).show(); } if (click_count == 5) { OPreferenceManager pref = new OPreferenceManager(this); pref.setBoolean(DEVELOPER_MODE, true); Toast.makeText(this, R.string.developer_5_tap, Toast.LENGTH_SHORT).show(); finish(); startActivity(new Intent(this, About.class)); } } }