From e1ffec96a513b877e973151147d952a89aa41444 Mon Sep 17 00:00:00 2001 From: vanitasvitae Date: Fri, 22 Sep 2017 18:07:41 +0200 Subject: [PATCH] Minor code cleanup --- .../java/de/trac/spherical/FlatFragment.java | 4 +- .../java/de/trac/spherical/MainActivity.java | 133 ++++++++++-------- .../de/trac/spherical/SphereFragment.java | 4 +- app/src/main/res/layout/activity_main.xml | 1 + 4 files changed, 75 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/de/trac/spherical/FlatFragment.java b/app/src/main/java/de/trac/spherical/FlatFragment.java index 981e87e..950fb8a 100644 --- a/app/src/main/java/de/trac/spherical/FlatFragment.java +++ b/app/src/main/java/de/trac/spherical/FlatFragment.java @@ -14,14 +14,13 @@ import com.davemorrissey.labs.subscaleview.ImageSource; import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; /** - * Created by vanitas on 17.09.17. + * Fragment containing an ImageView which displays the unfolded image. */ public class FlatFragment extends ImageFragment { private static final String TAG = "SphericalFFrag"; private SubsamplingScaleImageView imageView; - private Bitmap bitmap; @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { @@ -62,7 +61,6 @@ public class FlatFragment extends ImageFragment { if (imageView == null) { return; } - this.bitmap = bitmap; imageView.setImage(ImageSource.cachedBitmap(bitmap)); } } diff --git a/app/src/main/java/de/trac/spherical/MainActivity.java b/app/src/main/java/de/trac/spherical/MainActivity.java index d1820e5..94f2d56 100644 --- a/app/src/main/java/de/trac/spherical/MainActivity.java +++ b/app/src/main/java/de/trac/spherical/MainActivity.java @@ -6,9 +6,9 @@ import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; -import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; import android.support.v4.app.ActivityCompat; import android.support.v4.app.FragmentManager; @@ -69,21 +69,9 @@ public class MainActivity extends AppCompatActivity { handleIntent(getIntent()); } - private void showProgressFragment() { - fm.beginTransaction().replace(R.id.container_fragment, progressFragment, "prog").commit(); - this.currentlyShownImageFragment = null; - } - - private void showFlatImageFragment() { - fm.beginTransaction().replace(R.id.container_fragment, flatFragment, "flat").commit(); - this.currentlyShownImageFragment = flatFragment; - } - - private void showSphereFragment() { - fm.beginTransaction().replace(R.id.container_fragment, sphereFragment, "sphere").commit(); - this.currentlyShownImageFragment = sphereFragment; - } - + /** + * Initialize the user interface. + */ private void setupUI() { // Prepare UI toolbar = (Toolbar) findViewById(R.id.toolbar); @@ -116,6 +104,10 @@ public class MainActivity extends AppCompatActivity { }); } + /** + * Handle an incoming intent. Distinguish between actions and pass the intent down to respective methods. + * @param intent incoming intent. + */ private void handleIntent(Intent intent) { switch (intent.getAction()) { //Image was sent into the app @@ -131,6 +123,11 @@ public class MainActivity extends AppCompatActivity { } } + /** + * Check, if we are allowed to access external storage. If we are, then handle the intent. + * Otherwise cache the intent and prompt the user to grant us access. + * @param intent incoming intent. + */ private void checkPermissionAndHandleSentImage(Intent intent) { int status = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE); if (status == PackageManager.PERMISSION_GRANTED) { @@ -145,7 +142,7 @@ public class MainActivity extends AppCompatActivity { } @Override - public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { switch (requestCode) { case PERMISSION_REQUEST_READ_EXTERNAL_STORAGE: { // If request is cancelled, the result arrays are empty. @@ -159,40 +156,6 @@ public class MainActivity extends AppCompatActivity { } } - private void displayUI(boolean display) { - if (display) { - fab.show(); - toolbar.setVisibility(View.VISIBLE); - } else { - fab.setVisibility(View.INVISIBLE); - toolbar.setVisibility(View.GONE); - } - } - - @Override - public void onResume() { - super.onResume(); - displayUI(true); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu_main, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.menu_about: - Toast.makeText(this, R.string.toast_not_yet_implemented, Toast.LENGTH_SHORT).show(); - return true; - } - - return super.onOptionsItemSelected(item); - } - /** * Distinguish type of sent bitmap. Images with the MIME type of a photosphere will be directly * displayed, while images with MIME type bitmap/* are being manually tested using {@link PhotoSphereParser}. @@ -239,6 +202,59 @@ public class MainActivity extends AppCompatActivity { } } + /** + * Show/hide the FAB and toolbar. + * @param display show/hide + */ + private void displayUI(boolean display) { + if (display) { + fab.show(); + toolbar.setVisibility(View.VISIBLE); + } else { + fab.setVisibility(View.INVISIBLE); + toolbar.setVisibility(View.GONE); + } + } + + private void showProgressFragment() { + fm.beginTransaction().replace(R.id.container_fragment, progressFragment, "prog").commit(); + this.currentlyShownImageFragment = null; + } + + private void showFlatImageFragment() { + fm.beginTransaction().replace(R.id.container_fragment, flatFragment, "flat").commit(); + this.currentlyShownImageFragment = flatFragment; + } + + private void showSphereFragment() { + fm.beginTransaction().replace(R.id.container_fragment, sphereFragment, "sphere").commit(); + this.currentlyShownImageFragment = sphereFragment; + } + + @Override + public void onResume() { + super.onResume(); + displayUI(true); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_about: + Toast.makeText(this, R.string.toast_not_yet_implemented, Toast.LENGTH_SHORT).show(); + return true; + } + + return super.onOptionsItemSelected(item); + } + /** * Display a photo sphere. */ @@ -255,6 +271,11 @@ public class MainActivity extends AppCompatActivity { currentlyShownImageFragment.updateBitmap(bitmap); } + /** + * Convenience method because android sux. + * Returns the height of the status bar in dp. + * @return height of status bar. + */ private int getStatusBarHeight() { int result = 0; int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); @@ -271,14 +292,4 @@ public class MainActivity extends AppCompatActivity { public Bitmap getBitmap() { return bitmap; } - - private class HandleSentImageTask extends AsyncTask { - - @Override - protected Void doInBackground(Intent... params) { - handleSentImageIntent(params[0]); - - return null; - } - } } diff --git a/app/src/main/java/de/trac/spherical/SphereFragment.java b/app/src/main/java/de/trac/spherical/SphereFragment.java index c1aa558..f58344d 100644 --- a/app/src/main/java/de/trac/spherical/SphereFragment.java +++ b/app/src/main/java/de/trac/spherical/SphereFragment.java @@ -15,14 +15,13 @@ import android.widget.FrameLayout; import de.trac.spherical.rendering.PhotoSphereSurfaceView; /** - * Created by vanitas on 17.09.17. + * Fragment containing a PhotoSphereSurfaceView which displays the image projected on a sphere. */ public class SphereFragment extends ImageFragment implements View.OnTouchListener { private static final String TAG = "SphericalSFrag"; private PhotoSphereSurfaceView surfaceView; - private Bitmap bitmap; @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { @@ -74,7 +73,6 @@ public class SphereFragment extends ImageFragment implements View.OnTouchListene if (surfaceView == null) { return; } - this.bitmap = bitmap; surfaceView.setBitmap(bitmap); } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 39eac7d..8187271 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,6 +7,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="false" + android:background="@android:color/background_dark" tools:context="de.trac.spherical.MainActivity">