diff --git a/.gitignore b/.gitignore index a4990aec..e7c41ef6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,22 +11,4 @@ /app/build -.idea/.name - -.idea/compiler.xml - -.idea/copyright/profiles_settings.xml - -.idea/encodings.xml - -.idea/gradle.xml - -.idea/misc.xml - -.idea/modules.xml - -.idea/runConfigurations.xml - -.idea/vcs.xml - -.idea/caches/ +.idea diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 261e8c49..f90e990e 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -42,17 +42,10 @@ - - - * See - * Android Design: Settings for design guidelines and the Settings - * API Guide for more information on developing a Settings UI. - */ -public class DownloadSettingsActivity extends AppCompatPreferenceActivity { - /** - * Helper method to determine if the device has an extra-large screen. For - * example, 10" tablets are extra-large. - */ - private static boolean isXLargeTablet(final Context context) { - return (context.getResources().getConfiguration().screenLayout - & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE; - } - - @Override - protected void onCreate(final Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setupActionBar(); - } - - /** - * Set up the {@link ActionBar}, if the API is available. - */ - private void setupActionBar() { - final ActionBar actionBar = getSupportActionBar(); - if (actionBar != null) { - // Show the Up button in the action bar. - actionBar.setDisplayHomeAsUpEnabled(true); - } - } - - /** - * {@inheritDoc} - */ - @Override - public boolean onIsMultiPane() { - return isXLargeTablet(this); - } - - - /** - * {@inheritDoc} - */ - @Override - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - public void onBuildHeaders(final List
target) { - loadHeadersFromResource(R.xml.pref_download_headers, target); - } - - /** - * This method stops fragment injection in malicious applications. - * Make sure to deny any unknown fragments here. - */ - protected boolean isValidFragment(final String fragmentName) { - return PreferenceFragment.class.getName().equals(fragmentName) - || DownloadPreferenceFragment.class.getName().equals(fragmentName); - } - - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - public static class DownloadPreferenceFragment extends PreferenceFragment { - - @Override - public void onCreate(final Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setHasOptionsMenu(true); - addPreferencesFromResource(R.xml.pref_download); - } - - @Override - public boolean onOptionsItemSelected(final MenuItem item) { - final int id = item.getItemId(); - if (id == android.R.id.home) { - startActivity(new Intent(getActivity(), DownloadSettingsActivity.class)); - return true; - } - return super.onOptionsItemSelected(item); - } - } -} diff --git a/app/src/main/java/com/greenaddress/abcore/LogActivity.java b/app/src/main/java/com/greenaddress/abcore/LogActivity.java index 83ec80be..1a997af9 100755 --- a/app/src/main/java/com/greenaddress/abcore/LogActivity.java +++ b/app/src/main/java/com/greenaddress/abcore/LogActivity.java @@ -15,7 +15,7 @@ import java.io.IOException; import java.io.RandomAccessFile; -public class LogActivity extends AppCompatActivity { +public class LogActivity extends ABCoreBaseActivity { private static final int LOOP_DELAY = 600; @@ -63,9 +63,7 @@ protected void onCreate(Bundle savedInstanceState) { final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); final String useDistribution = prefs.getString("usedistribution", "core"); - final Toolbar toolbar = findViewById(R.id.toolbar); - toolbar.setSubtitle(getString(R.string.subtitle, useDistribution)); - setSupportActionBar(toolbar); + setUpTopNavBar(); final String daemon = "liquid".equals(useDistribution) ? "/liquidv1/debug.log" : "/debug.log"; mLogFile = new File(Utils.getDataDir(this) + (Utils.isTestnet(this) ? "/testnet3/debug.log" : daemon)); diff --git a/app/src/main/java/com/greenaddress/abcore/MainActivity.java b/app/src/main/java/com/greenaddress/abcore/MainActivity.java index e4d9377a..3dbcf77b 100755 --- a/app/src/main/java/com/greenaddress/abcore/MainActivity.java +++ b/app/src/main/java/com/greenaddress/abcore/MainActivity.java @@ -34,7 +34,7 @@ import com.google.zxing.qrcode.encoder.Encoder; -public class MainActivity extends AppCompatActivity { +public class MainActivity extends ABCoreBaseActivity { private final static String TAG = MainActivity.class.getName(); private RPCResponseReceiver mRpcResponseReceiver; private TextView mTvStatus; @@ -137,12 +137,10 @@ public void onCheckedChanged(final CompoundButton buttonView, final boolean isCh protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - final Toolbar toolbar = findViewById(R.id.toolbar); mTvStatus = findViewById(R.id.textViewStatus); mSwitchCore = findViewById(R.id.switchCore); mQrCodeText = findViewById(R.id.textViewQr); mImageViewQr = findViewById(R.id.qrcodeImageView); - setSupportActionBar(toolbar); setSwitch(); final View.OnClickListener cliboard = new View.OnClickListener() { @@ -192,6 +190,7 @@ public void onResume() { final String useDistribution = prefs.getString("usedistribution", "core"); getSupportActionBar().setSubtitle(getString(R.string.subtitle, useDistribution)); + final TextView mTvDaemon = findViewById(R.id.textViewDaemon); final String daemonVersion = "knots".equals(useDistribution) ? Packages.BITCOIN_KNOTS_NDK : "liquid".equals(useDistribution) ? Packages.BITCOIN_LIQUID_NDK : Packages.BITCOIN_NDK; mTvDaemon.setText(getString(R.string.subtitle, useDistribution + " " + daemonVersion)); @@ -199,37 +198,6 @@ public void onResume() { mMsgHandler.postDelayed(runnableCode, 1000); } - @Override - public boolean onCreateOptionsMenu(final Menu menu) { - final MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(final MenuItem item) { - // Handle item selection - switch (item.getItemId()) { - case R.id.configuration: - startActivity(new Intent(this, SettingsActivity.class)); - return true; - case R.id.peerview: - startActivity(new Intent(this, PeerActivity.class)); - return true; - case R.id.debug: - startActivity(new Intent(this, LogActivity.class)); - return true; - case R.id.console: - startActivity(new Intent(this, ConsoleActivity.class)); - return true; - case R.id.about: - startActivity(new Intent(this, AboutActivity.class)); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - public class RPCResponseReceiver extends BroadcastReceiver { public static final String ACTION_RESP = "com.greenaddress.intent.action.RPC_PROCESSED"; diff --git a/app/src/main/java/com/greenaddress/abcore/PeerActivity.java b/app/src/main/java/com/greenaddress/abcore/PeerActivity.java index 1d1b0dc9..00193a60 100755 --- a/app/src/main/java/com/greenaddress/abcore/PeerActivity.java +++ b/app/src/main/java/com/greenaddress/abcore/PeerActivity.java @@ -6,18 +6,23 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.os.Bundle; +import android.preference.PreferenceManager; import android.view.View; import android.widget.ArrayAdapter; +import android.widget.ListView; import android.widget.ProgressBar; +import androidx.appcompat.widget.Toolbar; + import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import java.util.ArrayList; import java.util.List; -public class PeerActivity extends ListActivity { +public class PeerActivity extends ABCoreBaseActivity { private final List listItems = new ArrayList<>(); private ArrayAdapter adapter; @@ -27,12 +32,14 @@ public class PeerActivity extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - adapter = new ArrayAdapter<>(this, - android.R.layout.simple_list_item_1, - listItems); + adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, listItems); setContentView(R.layout.activity_peer); - setListAdapter(adapter); + ListView list=findViewById(R.id.listview); + list.setAdapter(adapter); + + setUpTopNavBar(); + final FloatingActionButton fab = findViewById(R.id.fab); fab.setVisibility(View.GONE); fab.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java b/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java index e1d1325d..07a4b7e8 100755 --- a/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java +++ b/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java @@ -36,6 +36,7 @@ * API Guide for more information on developing a Settings UI. */ public class SettingsActivity extends AppCompatPreferenceActivity { + private final static String TAG = SettingsActivity.class.getName(); /** @@ -47,6 +48,7 @@ private static boolean isXLargeTablet(final Context context) { & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE; } + private static void deleteRF(final File f) { Log.v(TAG, "Deleting " + f.getAbsolutePath() + "/" + f.getName()); @@ -58,6 +60,8 @@ private static void deleteRF(final File f) { f.delete(); } + + @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -98,8 +102,9 @@ public void onBuildHeaders(final List
target) { */ protected boolean isValidFragment(final String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) - || AndroidPreferenceFragment.class.getName().equals(fragmentName) - || CorePreferenceFragment.class.getName().equals(fragmentName); + || SettingsActivity.CorePreferenceFragment.class.getName().equals(fragmentName) + || SettingsActivity.AndroidPreferenceFragment.class.getName().equals(fragmentName) + || SettingsActivity.AboutFragment.class.getName().equals(fragmentName); } /** @@ -112,7 +117,6 @@ public static class CorePreferenceFragment extends PreferenceFragment { @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setHasOptionsMenu(true); final Properties p = new Properties(); try { @@ -192,16 +196,6 @@ public boolean onPreferenceChange(final Preference preference, final Object o) { } }); } - - @Override - public boolean onOptionsItemSelected(final MenuItem item) { - final int id = item.getItemId(); - if (id == android.R.id.home) { - startActivity(new Intent(getActivity(), SettingsActivity.class)); - return true; - } - return super.onOptionsItemSelected(item); - } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) @@ -210,7 +204,6 @@ public static class AndroidPreferenceFragment extends PreferenceFragment { @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setHasOptionsMenu(true); addPreferencesFromResource(R.xml.pref_android); findPreference("deletecore").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @@ -239,15 +232,16 @@ public boolean onPreferenceClick(final Preference preference) { } }); } + } + + @TargetApi(Build.VERSION_CODES.HONEYCOMB) + public static class AboutFragment extends PreferenceFragment { @Override - public boolean onOptionsItemSelected(final MenuItem item) { - final int id = item.getItemId(); - if (id == android.R.id.home) { - startActivity(new Intent(getActivity(), SettingsActivity.class)); - return true; - } - return super.onOptionsItemSelected(item); + public void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.pref_about); } + } } diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml deleted file mode 100755 index bb35214e..00000000 --- a/app/src/main/res/layout/activity_about.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_console.xml b/app/src/main/res/layout/activity_console.xml index e08a4606..d28d5076 100644 --- a/app/src/main/res/layout/activity_console.xml +++ b/app/src/main/res/layout/activity_console.xml @@ -25,7 +25,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/editText2" - android:layout_below="@+id/bar_layout" android:layout_alignParentStart="true" android:layout_alignParentLeft="true" android:layout_alignParentEnd="true" @@ -52,20 +51,4 @@ - - - - - - - diff --git a/app/src/main/res/layout/activity_download.xml b/app/src/main/res/layout/activity_download.xml index 46cb9f84..71bbdf0f 100755 --- a/app/src/main/res/layout/activity_download.xml +++ b/app/src/main/res/layout/activity_download.xml @@ -1,5 +1,5 @@ - - - - - - diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f0747c1a..8b5d35a2 100755 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -13,20 +13,6 @@ android:orientation="vertical" tools:context="com.greenaddress.abcore.MainActivity"> - - - - - - diff --git a/app/src/main/res/layout/activity_peer.xml b/app/src/main/res/layout/activity_peer.xml index 63271f08..192f7b8f 100755 --- a/app/src/main/res/layout/activity_peer.xml +++ b/app/src/main/res/layout/activity_peer.xml @@ -8,21 +8,43 @@ android:fitsSystemWindows="true" tools:context=".PeerActivity"> - + android:layout_height="match_parent" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> + - + + + android:layout_height="match_parent" + android:paddingTop="@dimen/activity_vertical_margin" + android:drawSelectorOnTop="false" android:layout_below="@+id/textView2"/> + + + - - + - - -