package com.njlabs.showjava.ui; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Environment; import android.support.v7.app.ActionBar; import android.view.Menu; import android.view.MenuItem; import com.njlabs.showjava.R; import com.njlabs.showjava.utils.TouchImageView; import org.apache.commons.io.FilenameUtils; public class ImageResourceViewer extends BaseActivity { private String sourceFilePath; private String sourceFilename; private boolean isBlack = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupLayout(R.layout.activity_image_resource_viewer); getWindow().getDecorView().setBackgroundColor(Color.BLACK); ActionBar actionBar = getSupportActionBar(); Bundle extras = getIntent().getExtras(); String packageID = ""; if (extras != null) { sourceFilePath = extras.getString("file_path"); sourceFilename = FilenameUtils.getName(sourceFilePath); packageID = extras.getString("package_id"); } if (actionBar != null) { actionBar.setTitle(sourceFilename); String subtitle = FilenameUtils.getFullPath(sourceFilePath).replace(Environment.getExternalStorageDirectory() + "/ShowJava/sources/" + packageID + "/", ""); actionBar.setSubtitle(subtitle); if (sourceFilename.trim().equalsIgnoreCase("icon.png")) { actionBar.setSubtitle(packageID); } } TouchImageView touchImageView = (TouchImageView) findViewById(R.id.image_view); touchImageView.setImageDrawable(Drawable.createFromPath(sourceFilePath)); touchImageView.setZoom(0.3f); touchImageView.setMinZoom(0.3f); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); MenuItem item = menu.findItem(R.id.invert_colors); item.setVisible(true); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.invert_colors: if (isBlack) { getWindow().getDecorView().setBackgroundColor(Color.WHITE); } else { getWindow().getDecorView().setBackgroundColor(Color.BLACK); } isBlack = !isBlack; return true; } return super.onOptionsItemSelected(item); } }