package com.caddi.android.caddipictureupload; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.Picture; import android.os.AsyncTask; import android.os.StrictMode; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.Spinner; import android.widget.Toast; import com.caddi.android.caddipictureupload.util.PictureUtil; import java.io.ByteArrayOutputStream; import java.util.List; import java.util.Set; public class CompletePictureActivity extends ActionBarActivity { ImageView imageView; Spinner folderSpinner; EditText edtTitle; EditText edtText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_complete_picture); Intent i = getIntent(); Bundle extras = i.getExtras(); byte[] imgdata = extras.getByteArray(CameraActivity.IMGDATA); int orientation = extras.getInt(CameraActivity.IMGORIENTATION, 45); Log.i("CADDI", "Orientation:" + orientation); edtTitle = (EditText) findView( R.id.edtTitle); edtText = (EditText) findView( R.id.edtText); folderSpinner = (Spinner) findViewById(R.id.folderSpinner); folderSpinner.setPrompt("Billedmappe"); imageView = (ImageView) findViewById(R.id.imageView); imageView.setImageBitmap(PictureSingleton.getInstance().getPicture()); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(CompletePictureActivity.this, PictureView.class); startActivity(intent); } }); Button savePicture = (Button) findViewById(R.id.btnSavePicture); savePicture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bitmap bm = PictureSingleton.getInstance().getPicture(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.JPEG, 90, baos); String title = edtTitle.getText().toString(); String text = edtText.getText().toString(); String folder = (String) spinner.getSelectedItem(); if (title.trim().equals("") { Toast.makeText(CompletePictureActivity.this, "Titel skal angives", Toast.LENGTH_LONG).show(); return; } //DEBUG StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); try { WebserviceWrapper.uploadFile("Test", title, text, baos.toByteArray()); Toast.makeText(CompletePictureActivity.this, "Upload OK", Toast.LENGTH_LONG).show(); } catch (Exception e) { Log.e("Caddi", "Upload failed", e); Toast.makeText(CompletePictureActivity.this, "Upload failed: " + e.getMessage(), Toast.LENGTH_LONG).show(); } //CompletePictureActivity.this.finish(); } }); new FoldersLoader().execute( (Void)null ); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_complete_picture, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } class FoldersLoader extends AsyncTask { List folders; @Override protected Void doInBackground(Void... urls) { try { //List folders = WebserviceWrapper.getFolders(); folders = WebserviceWrapper.getFolders(); } catch (Exception e) { Log.e("Caddi", "Error getting folders", e); } return null; } @Override protected void onPostExecute(Void result) { if (folders == null) { Log.d("Caddi", "Folders is null"); return; } Log.i("Caddi", "Folder: PostExecute: " + folders.size() ); for (String s : folders) { Log.i("Caddi", "Folder:" + s); } if (folders.size() > 0) { ArrayAdapter adapter = new ArrayAdapter(CompletePictureActivity.this, android.R.layout.simple_spinner_dropdown_item, folders); folderSpinner.setAdapter(adapter); } } } }