package info.blockchain.wallet.ui; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Rect; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.ArrayAdapter; import android.widget.Toast; import android.widget.AdapterView.OnItemSelectedListener; //import android.util.Log; import piuk.blockchain.android.R; public class CurrencySelector extends Activity { private SelectedSpinner spCurrencies = null; private Button bOK = null; private Button bCancel = null; private ArrayAdapter<CharSequence> spAdapter = null; private SharedPreferences prefs = null; private SharedPreferences.Editor editor = null; private static String[] currencies = { "United States Dollar - USD", "Euro - EUR", "British Pound Sterling - GBP", "Indian Rupee - INR", "Australian Dollar - AUD", "Canadian Dollar - CAD", "Arab Emirates Dirham - AED", "Argentine Peso - ARS", "Aruban Florin - AWG", "Convertible Mark - BAM", "Barbadian Dollar - BBD", "Bangladeshi Taka - BDT", "Bulgarian Lev - BGN", "Bahraini Dinar - BHD", "Bermudian Dollar - BMD", "Bolivian Boliviano - BOB", "Brazilian Real - BRL", "Bahamian Dollar - BSD", "Swiss Franc - CHF", "Chilean Peso - CLP", "Chinese Yuan - CNY", "Colombian Peso - COP", "Czech Koruna - CZK", "Danish Krone - DKK", "Dominican Peso - DOP", "Egyptian Pound - EGP", "Fijian Dollar - FJD", "Ghana Cedi - GHS", "Gambian Dalasi - GMD", "Guatemalan Quetzal - GTQ", "Hong Kong Dollar - HKD", "Croatian Kuna - HRK", "Hungarian Forint - HUF", "Indonesian Rupiah - IDR", "Israeli Sheqel - ILS", "Icelandic Krona - ISK", "Jamaican Dollar - JMD", "Jordanian Dinar - JOD", "Japanese Yen - JPY", "Kenyan Shilling - KES", "Cambodian Riel - KHR", "South Korean Won - KRW", "Kuwaiti Dinar - KWD", "Lao Kip - LAK", "Lebanese Pound - LBP", "Sri Lankan Rupee - LKR", "Lithuanian Litas - LTL", "Moroccan Dirham - MAD", "Moldovan Leu - MDL", "Malagasy Ariary - MGA", "Macedonian Denar - MKD", "Mauritian Rupee - MUR", "Maldivian Rufiyaa - MVR", "Mexican Peso - MXN", "Malaysian Ringgit - MYR", "Namibian Dollar - NAD", "Nigerian Naira - NGN", "Norwegian Krone - NOK", "Nepalese Rupee - NPR", "New Zealand Dollar - NZD", "Omani Rial - OMR", "Panamanian Balboa - PAB", "Peruvian Sol - PEN", "Philippine Peso - PHP", "Pakistani Rupee - PKR", "Polish Zloty - PLN", "Paraguayan GuaranĂ­ - PYG", "Qatari Riyal - QAR", "Romanian Leu - RON", "Serbian Dinar - RSD", "Russian Rouble - RUB", "Saudi Riyal - SAR", "Seychellois Rupee - SCR", "Swedish Krona - SEK", "Singapore Dollar - SGD", "Syrian Pound - SYP", "Thai Baht - THB", "Tunisian Dinar - TND", "Turkish Lira - TRY", "Taiwanese Dollar - TWD", "Ukraine Hryvnia - UAH", "Ugandan Shilling - UGX", "Uruguayan Peso - UYU", "Venezuelan BolĂ­var - VEF", "Vietnamese Dong - VND", "Central African Franc - XAF", "East Caribbean Dollar - XCD", "West African Franc - XOF", "CFP Franc - XPF", "South African Rand - ZAR" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_currency); prefs = PreferenceManager.getDefaultSharedPreferences(this); editor = prefs.edit(); String[] blockchain_currencies = CurrencyExchange.getInstance(this).getBlockchainCurrencies(); String strFiatCode = prefs.getString("ccurrency", "USD"); OtherCurrencyExchange.getInstance(this, blockchain_currencies, strFiatCode); spCurrencies = (SelectedSpinner)findViewById(R.id.receive_coins_default_currency); spAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, currencies); spCurrencies.setAdapter(spAdapter); bOK = (Button)findViewById(R.id.confirm); bOK.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { int currency = spCurrencies.getSelectedItemPosition(); editor.putString("ccurrency", currencies[currency].substring(currencies[currency].length() - 3)); editor.commit(); finish(); } }); bCancel = (Button)findViewById(R.id.cancel); bCancel.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { finish(); } }); initValues(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { return true; } else { ; } return false; } private void initValues() { String strCurrency = prefs.getString("ccurrency", "USD"); int sel = -1; for(int i = 0; i < currencies.length; i++) { if(currencies[i].endsWith(strCurrency)) { spCurrencies.setSelection(i); sel = i; break; } } if(sel == -1) { spCurrencies.setSelection(0); } } @Override public boolean dispatchTouchEvent(MotionEvent event) { Rect dialogBounds = new Rect(); getWindow().getDecorView().getHitRect(dialogBounds); if(!dialogBounds.contains((int) event.getX(), (int) event.getY()) && event.getAction() == MotionEvent.ACTION_DOWN) { return false; } else { return super.dispatchTouchEvent(event); } } }