diff --git a/app/src/main/java/org/mian/gitnex/activities/NewFileActivity.java b/app/src/main/java/org/mian/gitnex/activities/NewFileActivity.java index 8f1e2aa4..0fd31d3a 100644 --- a/app/src/main/java/org/mian/gitnex/activities/NewFileActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/NewFileActivity.java @@ -6,6 +6,7 @@ import android.graphics.drawable.GradientDrawable; import android.os.Bundle; import android.util.Log; import android.view.View; +import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; @@ -82,6 +83,27 @@ public class NewFileActivity extends AppCompatActivity { newFileBranchesSpinner.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP); getBranches(instanceUrl, instanceToken, repoOwner, repoName, loginUid); + newFileBranchesSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() + { + public void onItemSelected(AdapterView arg0, + View arg1, int arg2, long arg3) + { + Branches bModelValue = (Branches) newFileBranchesSpinner.getSelectedItem(); + Log.i("bModelSelected", bModelValue.toString()); + + if(bModelValue.toString().equals("No branch")) { + newFileBranchName.setEnabled(true); + } + else { + newFileBranchName.setEnabled(false); + newFileBranchName.setText(""); + } + + } + + public void onNothingSelected(AdapterView arg0) {} + }); + disableProcessButton(); if(!connToInternet) { @@ -124,9 +146,7 @@ public class NewFileActivity extends AppCompatActivity { String newFileBranchName_ = newFileBranchName.getText().toString(); String newFileCommitMessage_ = newFileCommitMessage.getText().toString(); - Branches bModel = (Branches) newFileBranchesSpinner.getSelectedItem(); - - Log.i("bModel", bModel.toString()); + Branches currentBranch = (Branches) newFileBranchesSpinner.getSelectedItem(); if(!connToInternet) { @@ -142,10 +162,20 @@ public class NewFileActivity extends AppCompatActivity { } - if(!appUtil.checkStringsWithDash(newFileBranchName_)) { + if(currentBranch.toString().equals("No branch")) { - Toasty.info(getApplicationContext(), getString(R.string.newFileInvalidBranchName)); - return; + if(newFileBranchName_.equals("")) { + Toasty.info(getApplicationContext(), getString(R.string.newFileRequiredFieldNewBranchName)); + return; + } + else { + if(!appUtil.checkStringsWithDash(newFileBranchName_)) { + + Toasty.info(getApplicationContext(), getString(R.string.newFileInvalidBranchName)); + return; + + } + } } @@ -157,16 +187,21 @@ public class NewFileActivity extends AppCompatActivity { else { disableProcessButton(); - //Log.i("base64", appUtil.encodeBase64(newFileContent_)); - createNewFile(instanceUrl, Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName, newFileName_, appUtil.encodeBase64(newFileContent_), newFileBranchName_, newFileCommitMessage_); + createNewFile(instanceUrl, Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName, newFileName_, appUtil.encodeBase64(newFileContent_), newFileBranchName_, newFileCommitMessage_, currentBranch.toString()); } } - private void createNewFile(final String instanceUrl, final String token, String repoOwner, String repoName, String fileName, String fileContent, String fileBranchName, String fileCommitMessage) { + private void createNewFile(final String instanceUrl, final String token, String repoOwner, String repoName, String fileName, String fileContent, String fileBranchName, String fileCommitMessage, String currentBranch) { - NewFile createNewFileJsonStr = new NewFile(fileContent, fileCommitMessage, fileBranchName); + NewFile createNewFileJsonStr; + if(currentBranch.equals("No branch")) { + createNewFileJsonStr = new NewFile("", fileContent, fileCommitMessage, fileBranchName); + } + else { + createNewFileJsonStr = new NewFile(currentBranch, fileContent, fileCommitMessage, ""); + } Call call = RetrofitClient .getInstance(instanceUrl) diff --git a/app/src/main/java/org/mian/gitnex/models/NewFile.java b/app/src/main/java/org/mian/gitnex/models/NewFile.java index 87c107ea..64012eab 100644 --- a/app/src/main/java/org/mian/gitnex/models/NewFile.java +++ b/app/src/main/java/org/mian/gitnex/models/NewFile.java @@ -90,7 +90,8 @@ public class NewFile { } } - public NewFile(String content, String message, String new_branch) { + public NewFile(String branch, String content, String message, String new_branch) { + this.branch = branch; this.content = content; this.message = message; this.new_branch = new_branch; diff --git a/app/src/main/res/layout/activity_new_file.xml b/app/src/main/res/layout/activity_new_file.xml index 800f48ef..97c65f48 100644 --- a/app/src/main/res/layout/activity_new_file.xml +++ b/app/src/main/res/layout/activity_new_file.xml @@ -134,6 +134,16 @@ android:paddingRight="5dp" android:paddingStart="5dp" /> + + + + New file created Current Branches Fields like filename, contents and commit message are required. + Selecting current branch will disable new branch + e.g: new-branch + New branch name cannot be empty if current branch is not selected OK diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 72995d48..6accec9d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -420,6 +420,9 @@ New file created Current Branches Fields like filename, contents and commit message are required. + Selecting current branch will disable new branch + e.g: new-branch + New branch name cannot be empty if current branch is not selected OK diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9216aebc..41528575 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -420,6 +420,9 @@ New file created Current Branches Fields like filename, contents and commit message are required. + Selecting current branch will disable new branch + e.g: new-branch + New branch name cannot be empty if current branch is not selected OK diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8d2e89c0..a50987fc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -457,7 +457,10 @@ Commit message is too long New file created Current Branches - Fields like filename, contents and commit message are required. + Fields like filename, content and commit message are required + Selecting current branch will disable new branch + e.g: new-branch + New branch name cannot be empty if current branch is not selected OK