package com.nith.appteam.nimbus.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.provider.MediaStore; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.Toast; import com.google.gson.annotations.SerializedName; import com.nith.appteam.nimbus.CustomView.EditorView; import com.nith.appteam.nimbus.Manifest; import com.nith.appteam.nimbus.R; import com.nith.appteam.nimbus.Service.UploadService; import com.nith.appteam.nimbus.Utils.SharedPref; import com.nith.appteam.nimbus.Utils.Util; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import static android.view.View.GONE; /** * Created by sahil on 9/2/17. */ public class UploadNewsFeedActivity extends AppCompatActivity { private static final int PICK_IMAGE_REQUEST = 1; private static final String TAG = "Upload News Feed"; private EditorView editorView; private ImageView camera_image, upload_image; private static final String UPLOAD_SERVICE="Upload"; private static final String TITLE="title"; private static final String DESCRIPTION="description"; private static final String URL_IMAGE="imageUrl"; private static final String WORK="work"; private SharedPref sharedPref; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_upload_news_feed); sharedPref=new SharedPref(this); editorView = (EditorView) findViewById(R.id.editor); camera_image = (ImageView) findViewById(R.id.select_image); upload_image = (ImageView) findViewById(R.id.upload_news); camera_image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { createChooser(); } }); upload_image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EditorView.AddTopic add = editorView.buildEditData(); StringBuilder imageUrl =new StringBuilder(); if (add.title != null && add.detail != null) if (!add.title.isEmpty() && !add.detail.isEmpty()) { if(!sharedPref.getFirstTimeRollregister()) if(!sharedPref.getNitianStatus()&&sharedPref.getUserRollno().isEmpty()){ Log.d("b","b"); Log.d("b",sharedPref.getUserRollno()); if(sharedPref.getUserRollno().isEmpty()){ AlertDialog t= Util.promptRollNo(UploadNewsFeedActivity.this); t.show(); } } else { sharedPref.setFirstRollRegister(true); } else { for(int i=0;i<add.imageUrl.size();i++) imageUrl.append(add.imageUrl.get(i)+" "); Log.d("image",imageUrl.toString()); Intent i=new Intent(UploadNewsFeedActivity.this, UploadService.class); i.putExtra(UPLOAD_SERVICE,true); i.putExtra(TITLE,add.title); i.putExtra(DESCRIPTION,add.detail); if(!imageUrl.toString().isEmpty()) i.putExtra(URL_IMAGE,imageUrl.toString()); startService(i); Log.d(TAG, add.title + " " + add.detail+" "+imageUrl); finish();} } else { Toast.makeText(UploadNewsFeedActivity.this, "Some Fields are still empty", Toast.LENGTH_SHORT).show(); } } }); } private void createChooser() { if(ContextCompat.checkSelfPermission(UploadNewsFeedActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)== PackageManager.PERMISSION_DENIED){ if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){ requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 121); } return; } Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/*"); startActivityForResult(Intent.createChooser(intent, "CHOOSE PHOTO"), PICK_IMAGE_REQUEST); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) { Uri filePath = data.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; Cursor c = getContentResolver().query(filePath, filePathColumn, null, null, null); c.moveToFirst(); String imgDecodableString = c.getString(c.getColumnIndex(filePathColumn[0])); c.close(); editorView.addImage(imgDecodableString); } } // class for the Uploading News Response public class UploadResponse { @SerializedName("id") private String id; @SerializedName("success") private boolean success; @SerializedName("error") private String error; public UploadResponse(String id, Boolean success, String error) { this.id = id; this.success = success; this.error = error; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Boolean getSuccess() { return success; } public void setSuccess(Boolean success) { this.success = success; } public String getError() { return error; } public void setError(String error) { this.error = error; } } }