diff --git a/app/src/main/java/de/trac/spherical/MainActivity.java b/app/src/main/java/de/trac/spherical/MainActivity.java index 12e5425..d103db0 100644 --- a/app/src/main/java/de/trac/spherical/MainActivity.java +++ b/app/src/main/java/de/trac/spherical/MainActivity.java @@ -112,7 +112,7 @@ public class MainActivity extends AppCompatActivity { //App was launched via launcher icon //TODO: Remove later together with launcher intent filter default: - Toast.makeText(this, R.string.prompt_share_image, Toast.LENGTH_LONG).show(); + Toast.makeText(this, R.string.toast_prompt_share_image, Toast.LENGTH_LONG).show(); } } @@ -139,9 +139,8 @@ public class MainActivity extends AppCompatActivity { && grantResults[0] == PackageManager.PERMISSION_GRANTED) { handleSentImageIntent(cachedIntent); } else { - Toast.makeText(this, R.string.missing_permission, Toast.LENGTH_LONG).show(); + Toast.makeText(this, R.string.toast_missing_permission, Toast.LENGTH_LONG).show(); } - return; } } } @@ -173,7 +172,7 @@ public class MainActivity extends AppCompatActivity { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_force_sphere: - Toast.makeText(this, R.string.not_yet_implemented, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.toast_not_yet_implemented, Toast.LENGTH_SHORT).show(); return true; } @@ -191,7 +190,7 @@ public class MainActivity extends AppCompatActivity { Uri imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); if (imageUri == null) { - Toast.makeText(this, R.string.file_not_found, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.toast_file_not_found, Toast.LENGTH_SHORT).show(); return; } @@ -227,9 +226,11 @@ public class MainActivity extends AppCompatActivity { } } catch (FileNotFoundException e) { - e.printStackTrace(); + Log.e(TAG, "File not found.", e); + Toast.makeText(this, R.string.toast_file_not_found, Toast.LENGTH_SHORT).show(); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "IOException: ", e); + Toast.makeText(this, R.string.toast_io_error, Toast.LENGTH_SHORT).show(); } } @@ -252,10 +253,10 @@ public class MainActivity extends AppCompatActivity { } catch (FileNotFoundException e) { Log.e(TAG, "File not found.", e); - Toast.makeText(this, R.string.file_not_found, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.toast_file_not_found, Toast.LENGTH_SHORT).show(); } catch (IOException e) { Log.e(TAG, "IOException: ", e); - Toast.makeText(this, R.string.ioerror, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.toast_io_error, Toast.LENGTH_SHORT).show(); } } diff --git a/app/src/main/java/de/trac/spherical/rendering/Renderer.java b/app/src/main/java/de/trac/spherical/rendering/Renderer.java index 7764237..23eaccb 100644 --- a/app/src/main/java/de/trac/spherical/rendering/Renderer.java +++ b/app/src/main/java/de/trac/spherical/rendering/Renderer.java @@ -10,8 +10,55 @@ import android.util.Log; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; -import static android.opengl.GLES20.*; -import static android.opengl.GLUtils.getEGLErrorString; +import static android.opengl.GLES20.GL_COLOR_BUFFER_BIT; +import static android.opengl.GLES20.GL_COMPILE_STATUS; +import static android.opengl.GLES20.GL_CULL_FACE; +import static android.opengl.GLES20.GL_CW; +import static android.opengl.GLES20.GL_DEPTH_BUFFER_BIT; +import static android.opengl.GLES20.GL_DEPTH_TEST; +import static android.opengl.GLES20.GL_FLOAT; +import static android.opengl.GLES20.GL_FRAGMENT_SHADER; +import static android.opengl.GLES20.GL_LINEAR; +import static android.opengl.GLES20.GL_LINK_STATUS; +import static android.opengl.GLES20.GL_NEAREST; +import static android.opengl.GLES20.GL_TEXTURE0; +import static android.opengl.GLES20.GL_TEXTURE_2D; +import static android.opengl.GLES20.GL_TEXTURE_MAG_FILTER; +import static android.opengl.GLES20.GL_TEXTURE_MIN_FILTER; +import static android.opengl.GLES20.GL_TRIANGLES; +import static android.opengl.GLES20.GL_TRUE; +import static android.opengl.GLES20.GL_UNSIGNED_SHORT; +import static android.opengl.GLES20.GL_VERTEX_SHADER; +import static android.opengl.GLES20.glActiveTexture; +import static android.opengl.GLES20.glAttachShader; +import static android.opengl.GLES20.glBindTexture; +import static android.opengl.GLES20.glClear; +import static android.opengl.GLES20.glClearColor; +import static android.opengl.GLES20.glCompileShader; +import static android.opengl.GLES20.glCreateProgram; +import static android.opengl.GLES20.glCreateShader; +import static android.opengl.GLES20.glDeleteProgram; +import static android.opengl.GLES20.glDeleteShader; +import static android.opengl.GLES20.glDisableVertexAttribArray; +import static android.opengl.GLES20.glDrawElements; +import static android.opengl.GLES20.glEnable; +import static android.opengl.GLES20.glEnableVertexAttribArray; +import static android.opengl.GLES20.glFrontFace; +import static android.opengl.GLES20.glGenTextures; +import static android.opengl.GLES20.glGetAttribLocation; +import static android.opengl.GLES20.glGetProgramInfoLog; +import static android.opengl.GLES20.glGetProgramiv; +import static android.opengl.GLES20.glGetShaderInfoLog; +import static android.opengl.GLES20.glGetShaderiv; +import static android.opengl.GLES20.glGetUniformLocation; +import static android.opengl.GLES20.glLinkProgram; +import static android.opengl.GLES20.glShaderSource; +import static android.opengl.GLES20.glTexParameteri; +import static android.opengl.GLES20.glUniform1i; +import static android.opengl.GLES20.glUniformMatrix4fv; +import static android.opengl.GLES20.glUseProgram; +import static android.opengl.GLES20.glVertexAttribPointer; +import static android.opengl.GLES20.glViewport; public class Renderer implements GLSurfaceView.Renderer { diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a6b3dae..0755aec 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,2 +1,9 @@ - \ No newline at end of file + + Erzwinge Kugelansicht + Datei nicht gefunden. + Ein Fehler ist aufgetreten: IO-Error. + Foto kann nicht angezeigt werden: Fehlende Berechtigung für externen Speicher. + Noch nicht implementiert! + Teile ein Bild mit der App! + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a384a13..3f60415 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,10 +1,9 @@ - Spherical - Share an image with the app! - File not found. - An Error has occurred: IOError. - WOW! SUCH 3D!!! + Spherical + Share an image with the app! + File not found. + An Error has occurred: IO-Error. Show as Sphere - Not yet implemented! - Cannot display photo: Missing permissions to access external storage. + Not yet implemented! + Cannot display photo: Missing permissions to access external storage.