Compare commits
14 Commits
7-assign-t
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
b31e2973c2 | |||
63f03db21b | |||
7c90a32de7 | |||
0bc4b6fd10 | |||
e8ab396e43 | |||
83911da86f | |||
78f8a3d1c7 | |||
e27e29b7ae | |||
e8c25fca2a | |||
3ddf978bf0 | |||
bb8cc3ff6e | |||
e9eef8fcbf | |||
eba170f7e9 | |||
c2b316446c |
@ -6,8 +6,8 @@ android {
|
||||
applicationId "org.mian.gitnex"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode 104
|
||||
versionName "2.5.0-rc4"
|
||||
versionCode 251
|
||||
versionName "2.5.1"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
buildTypes {
|
||||
|
@ -120,11 +120,18 @@ public class IssueActions {
|
||||
|
||||
tinyDb.putBoolean("resumeIssues", true);
|
||||
tinyDb.putBoolean("resumeClosedIssues", true);
|
||||
|
||||
if(issueState.equals("closed")) {
|
||||
|
||||
Toasty.info(ctx, ctx.getString(R.string.issueStateClosed));
|
||||
tinyDb.putString("issueState", "closed");
|
||||
|
||||
}
|
||||
else if(issueState.equals("open")) {
|
||||
|
||||
Toasty.info(ctx, ctx.getString(R.string.issueStateReopened));
|
||||
tinyDb.putString("issueState", "open");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -191,9 +198,14 @@ public class IssueActions {
|
||||
|
||||
if(response.isSuccessful()) {
|
||||
|
||||
Toasty.info(ctx, ctx.getString(R.string.issueSubscribtion));
|
||||
subscribeIssue.setVisibility(View.GONE);
|
||||
unsubscribeIssue.setVisibility(View.VISIBLE);
|
||||
if(response.code() == 201) {
|
||||
|
||||
unsubscribeIssue.setVisibility(View.VISIBLE);
|
||||
subscribeIssue.setVisibility(View.GONE);
|
||||
Toasty.info(ctx, ctx.getString(R.string.issueSubscribtion));
|
||||
tinyDB.putString("issueSubscriptionState", "unsubscribeToIssue");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if(response.code() == 401) {
|
||||
@ -248,9 +260,14 @@ public class IssueActions {
|
||||
|
||||
if(response.isSuccessful()) {
|
||||
|
||||
Toasty.info(ctx, ctx.getString(R.string.issueUnsubscribtion));
|
||||
unsubscribeIssue.setVisibility(View.GONE);
|
||||
subscribeIssue.setVisibility(View.VISIBLE);
|
||||
if(response.code() == 201) {
|
||||
|
||||
unsubscribeIssue.setVisibility(View.GONE);
|
||||
subscribeIssue.setVisibility(View.VISIBLE);
|
||||
Toasty.info(ctx, ctx.getString(R.string.issueUnsubscribtion));
|
||||
tinyDB.putString("issueSubscriptionState", "subscribeToIssue");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if(response.code() == 401) {
|
||||
|
@ -19,7 +19,7 @@ import org.mian.gitnex.util.TinyDB;
|
||||
* Author M M Arif
|
||||
*/
|
||||
|
||||
@AcraNotification(resIcon = R.mipmap.app_logo,
|
||||
@AcraNotification(resIcon = R.drawable.gitnex_transparent,
|
||||
resTitle = R.string.crashTitle,
|
||||
resChannelName = R.string.setCrashReports,
|
||||
resText = R.string.crashMessage)
|
||||
|
@ -293,7 +293,7 @@ public class CreateFileActivity extends BaseActivity {
|
||||
}
|
||||
}
|
||||
|
||||
ArrayAdapter<Branches> adapter = new ArrayAdapter<>(getApplicationContext(),
|
||||
ArrayAdapter<Branches> adapter = new ArrayAdapter<>(CreateFileActivity.this,
|
||||
R.layout.spinner_item, branchesList);
|
||||
|
||||
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
|
@ -367,7 +367,7 @@ public class CreateIssueActivity extends BaseActivity implements View.OnClickLis
|
||||
}
|
||||
}
|
||||
|
||||
ArrayAdapter<Milestones> adapter = new ArrayAdapter<>(getApplicationContext(),
|
||||
ArrayAdapter<Milestones> adapter = new ArrayAdapter<>(CreateIssueActivity.this,
|
||||
R.layout.spinner_item, milestonesList);
|
||||
|
||||
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
|
@ -260,7 +260,7 @@ public class CreateReleaseActivity extends BaseActivity {
|
||||
}
|
||||
}
|
||||
|
||||
ArrayAdapter<Branches> adapter = new ArrayAdapter<>(getApplicationContext(),
|
||||
ArrayAdapter<Branches> adapter = new ArrayAdapter<>(CreateReleaseActivity.this,
|
||||
R.layout.spinner_item, branchesList);
|
||||
|
||||
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
|
@ -283,7 +283,7 @@ public class CreateRepoActivity extends BaseActivity {
|
||||
}
|
||||
}
|
||||
|
||||
ArrayAdapter<OrgOwner> adapter = new ArrayAdapter<>(getApplicationContext(),
|
||||
ArrayAdapter<OrgOwner> adapter = new ArrayAdapter<>(CreateRepoActivity.this,
|
||||
R.layout.spinner_item, organizationsList);
|
||||
|
||||
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
|
@ -388,7 +388,7 @@ public class EditIssueActivity extends BaseActivity implements View.OnClickListe
|
||||
}
|
||||
}
|
||||
|
||||
ArrayAdapter<Milestones> adapter_ = new ArrayAdapter<>(getApplicationContext(),
|
||||
ArrayAdapter<Milestones> adapter_ = new ArrayAdapter<>(EditIssueActivity.this,
|
||||
R.layout.spinner_item, milestonesList);
|
||||
|
||||
adapter_.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.mian.gitnex.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.BitmapFactory;
|
||||
@ -13,6 +14,7 @@ import android.text.method.ScrollingMovementMethod;
|
||||
import android.util.Base64;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
@ -57,7 +59,8 @@ public class FileViewActivity extends BaseActivity implements BottomSheetFileVie
|
||||
private View.OnClickListener onClickListener;
|
||||
private TextView singleFileContents;
|
||||
private LinearLayout singleFileContentsFrame;
|
||||
private HighlightJsView singleCodeContents;
|
||||
private LinearLayout highlightJs;
|
||||
//private HighlightJsView singleCodeContents;
|
||||
private PhotoView imageView;
|
||||
final Context ctx = this;
|
||||
private ProgressBar mProgressBar;
|
||||
@ -92,7 +95,8 @@ public class FileViewActivity extends BaseActivity implements BottomSheetFileVie
|
||||
|
||||
ImageView closeActivity = findViewById(R.id.close);
|
||||
singleFileContents = findViewById(R.id.singleFileContents);
|
||||
singleCodeContents = findViewById(R.id.singleCodeContents);
|
||||
highlightJs = findViewById(R.id.highlightJs);
|
||||
//singleCodeContents = findViewById(R.id.singleCodeContents);
|
||||
imageView = findViewById(R.id.imageView);
|
||||
mProgressBar = findViewById(R.id.progress_bar);
|
||||
pdfView = findViewById(R.id.pdfView);
|
||||
@ -157,7 +161,8 @@ public class FileViewActivity extends BaseActivity implements BottomSheetFileVie
|
||||
if(appUtil.imageExtension(fileExtension)) { // file is image
|
||||
|
||||
singleFileContentsFrame.setVisibility(View.GONE);
|
||||
singleCodeContents.setVisibility(View.GONE);
|
||||
highlightJs.setVisibility(View.GONE);
|
||||
//singleCodeContents.setVisibility(View.GONE);
|
||||
pdfViewFrame.setVisibility(View.GONE);
|
||||
imageView.setVisibility(View.VISIBLE);
|
||||
|
||||
@ -168,40 +173,59 @@ public class FileViewActivity extends BaseActivity implements BottomSheetFileVie
|
||||
}
|
||||
else if(appUtil.sourceCodeExtension(fileExtension)) { // file is sourcecode
|
||||
|
||||
imageView.setVisibility(View.GONE);
|
||||
singleFileContentsFrame.setVisibility(View.GONE);
|
||||
pdfViewFrame.setVisibility(View.GONE);
|
||||
singleCodeContents.setVisibility(View.VISIBLE);
|
||||
imageView.setVisibility(View.GONE);
|
||||
|
||||
if(Build.VERSION.SDK_INT > 23) {
|
||||
|
||||
highlightJs.setVisibility(View.VISIBLE);
|
||||
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
assert inflater != null;
|
||||
@SuppressLint("InflateParams") View mView = inflater.inflate(R.layout.custom_highlightjs, null);
|
||||
HighlightJsView singleCodeContents = mView.findViewById(R.id.singleCodeContents);
|
||||
highlightJs.addView(mView);
|
||||
|
||||
singleFileContentsFrame.setVisibility(View.GONE);
|
||||
singleCodeContents.setVisibility(View.VISIBLE);
|
||||
|
||||
switch(tinyDb.getInt("fileviewerSourceCodeThemeId")) {
|
||||
case 1:
|
||||
singleCodeContents.setTheme(Theme.ARDUINO_LIGHT);
|
||||
break;
|
||||
case 2:
|
||||
singleCodeContents.setTheme(Theme.GITHUB);
|
||||
break;
|
||||
case 3:
|
||||
singleCodeContents.setTheme(Theme.FAR);
|
||||
break;
|
||||
case 4:
|
||||
singleCodeContents.setTheme(Theme.IR_BLACK);
|
||||
break;
|
||||
case 5:
|
||||
singleCodeContents.setTheme(Theme.ANDROID_STUDIO);
|
||||
break;
|
||||
default:
|
||||
singleCodeContents.setTheme(Theme.MONOKAI_SUBLIME);
|
||||
}
|
||||
|
||||
singleCodeContents.setShowLineNumbers(true);
|
||||
singleCodeContents.setSource(appUtil.decodeBase64(response.body().getContent()));
|
||||
|
||||
switch(tinyDb.getInt("fileviewerSourceCodeThemeId")) {
|
||||
case 1:
|
||||
singleCodeContents.setTheme(Theme.ARDUINO_LIGHT);
|
||||
break;
|
||||
case 2:
|
||||
singleCodeContents.setTheme(Theme.GITHUB);
|
||||
break;
|
||||
case 3:
|
||||
singleCodeContents.setTheme(Theme.FAR);
|
||||
break;
|
||||
case 4:
|
||||
singleCodeContents.setTheme(Theme.IR_BLACK);
|
||||
break;
|
||||
case 5:
|
||||
singleCodeContents.setTheme(Theme.ANDROID_STUDIO);
|
||||
break;
|
||||
default:
|
||||
singleCodeContents.setTheme(Theme.MONOKAI_SUBLIME);
|
||||
}
|
||||
else {
|
||||
|
||||
singleCodeContents.setShowLineNumbers(true);
|
||||
singleCodeContents.setSource(appUtil.decodeBase64(response.body().getContent()));
|
||||
singleFileContents.setVisibility(View.VISIBLE);
|
||||
singleFileContents.setText(appUtil.decodeBase64(response.body().getContent()));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if(appUtil.pdfExtension(fileExtension)) { // file is pdf
|
||||
|
||||
imageView.setVisibility(View.GONE);
|
||||
singleFileContentsFrame.setVisibility(View.GONE);
|
||||
singleCodeContents.setVisibility(View.GONE);
|
||||
highlightJs.setVisibility(View.GONE);
|
||||
//singleCodeContents.setVisibility(View.GONE);
|
||||
pdfViewFrame.setVisibility(View.VISIBLE);
|
||||
|
||||
pdfNightMode = tinyDb.getBoolean("enablePdfMode");
|
||||
@ -213,7 +237,8 @@ public class FileViewActivity extends BaseActivity implements BottomSheetFileVie
|
||||
else if(appUtil.excludeFilesInFileViewerExtension(fileExtension)) { // files need to be excluded
|
||||
|
||||
imageView.setVisibility(View.GONE);
|
||||
singleCodeContents.setVisibility(View.GONE);
|
||||
highlightJs.setVisibility(View.GONE);
|
||||
//singleCodeContents.setVisibility(View.GONE);
|
||||
pdfViewFrame.setVisibility(View.GONE);
|
||||
singleFileContentsFrame.setVisibility(View.VISIBLE);
|
||||
|
||||
@ -225,7 +250,8 @@ public class FileViewActivity extends BaseActivity implements BottomSheetFileVie
|
||||
else { // file type not known - plain text view
|
||||
|
||||
imageView.setVisibility(View.GONE);
|
||||
singleCodeContents.setVisibility(View.GONE);
|
||||
highlightJs.setVisibility(View.GONE);
|
||||
//singleCodeContents.setVisibility(View.GONE);
|
||||
pdfViewFrame.setVisibility(View.GONE);
|
||||
singleFileContentsFrame.setVisibility(View.VISIBLE);
|
||||
|
||||
|
@ -87,7 +87,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
|
||||
Resources res = getResources();
|
||||
String[] allProtocols = res.getStringArray(R.array.protocolValues);
|
||||
|
||||
final ArrayAdapter<String> adapterProtocols = new ArrayAdapter<String>(Objects.requireNonNull(getApplicationContext()),
|
||||
final ArrayAdapter<String> adapterProtocols = new ArrayAdapter<String>(LoginActivity.this,
|
||||
R.layout.spinner_item, allProtocols);
|
||||
|
||||
adapterProtocols.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
|
@ -143,7 +143,7 @@ public class MergePullRequestActivity extends BaseActivity {
|
||||
mergeList.add(new MergePullRequestSpinner("squash", getResources().getString(R.string.mergeOptionSquash)));
|
||||
}
|
||||
|
||||
ArrayAdapter<MergePullRequestSpinner> adapter = new ArrayAdapter<>(ctx, R.layout.spinner_item, mergeList);
|
||||
ArrayAdapter<MergePullRequestSpinner> adapter = new ArrayAdapter<>(MergePullRequestActivity.this, R.layout.spinner_item, mergeList);
|
||||
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
|
||||
mergeModeSpinner.setAdapter(adapter);
|
||||
|
||||
|
@ -165,8 +165,8 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
|
||||
|
||||
// pull count
|
||||
if (textViewBadgePull.getText() != "") { // only show if API returned a number
|
||||
Objects.requireNonNull(tabLayout.getTabAt(3)).setCustomView(tabHeader4);
|
||||
TabLayout.Tab tabOpenPulls = tabLayout.getTabAt(3);
|
||||
Objects.requireNonNull(tabLayout.getTabAt(4)).setCustomView(tabHeader4);
|
||||
TabLayout.Tab tabOpenPulls = tabLayout.getTabAt(4);
|
||||
assert tabOpenPulls != null;
|
||||
TextView openPullTabView = Objects.requireNonNull(tabOpenPulls.getCustomView()).findViewById(R.id.counterBadgePullText);
|
||||
openPullTabView.setTextColor(textColor);
|
||||
@ -240,12 +240,6 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
|
||||
public void onButtonClicked(String text) {
|
||||
|
||||
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
||||
String repoFullName = tinyDb.getString("repoFullName");
|
||||
String instanceUrlWithProtocol = "https://" + tinyDb.getString("instanceUrlRaw");
|
||||
if(!tinyDb.getString("instanceUrlWithProtocol").isEmpty()) {
|
||||
instanceUrlWithProtocol = tinyDb.getString("instanceUrlWithProtocol");
|
||||
}
|
||||
Uri url = Uri.parse(instanceUrlWithProtocol + "/" + repoFullName);
|
||||
|
||||
switch (text) {
|
||||
case "label":
|
||||
@ -264,15 +258,15 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
|
||||
startActivity(new Intent(RepoDetailActivity.this, CreateReleaseActivity.class));
|
||||
break;
|
||||
case "openWebRepo":
|
||||
Intent i = new Intent(Intent.ACTION_VIEW, url);
|
||||
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(tinyDb.getString("repoHtmlUrl")));
|
||||
startActivity(i);
|
||||
break;
|
||||
case "shareRepo":
|
||||
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
|
||||
sharingIntent.setType("text/plain");
|
||||
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, url);
|
||||
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, url);
|
||||
startActivity(Intent.createChooser(sharingIntent, url.toString()));
|
||||
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
|
||||
sharingIntent.setType("text/plain");
|
||||
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, tinyDb.getString("repoHtmlUrl"));
|
||||
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, tinyDb.getString("repoHtmlUrl"));
|
||||
startActivity(Intent.createChooser(sharingIntent, tinyDb.getString("repoHtmlUrl")));
|
||||
break;
|
||||
case "newFile":
|
||||
startActivity(new Intent(RepoDetailActivity.this, CreateFileActivity.class));
|
||||
@ -299,18 +293,18 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetRepoF
|
||||
|
||||
Fragment fragment = null;
|
||||
switch (position) {
|
||||
case 0: // information
|
||||
return RepoInfoFragment.newInstance(repoOwner, repoName);
|
||||
case 1: // files
|
||||
case 0: // files
|
||||
return FilesFragment.newInstance(repoOwner, repoName);
|
||||
case 1: // information
|
||||
return RepoInfoFragment.newInstance(repoOwner, repoName);
|
||||
case 2: // issues
|
||||
fragment = new IssuesMainFragment();
|
||||
break;
|
||||
case 3: // pull requests
|
||||
case 3: // branches
|
||||
return BranchesFragment.newInstance(repoOwner, repoName);
|
||||
case 4: // pull requests
|
||||
fragment = new PullRequestsFragment();
|
||||
break;
|
||||
case 4: // branches
|
||||
return BranchesFragment.newInstance(repoOwner, repoName);
|
||||
case 5: // releases
|
||||
return ReleasesFragment.newInstance(repoOwner, repoName);
|
||||
case 6: // milestones
|
||||
|
@ -60,6 +60,7 @@ public class FilesDiffAdapter extends RecyclerView.Adapter<FilesDiffAdapter.File
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull FilesDiffViewHolder holder, int position) {
|
||||
|
||||
holder.setIsRecyclable(false);
|
||||
FileDiffView data = dataList.get(position);
|
||||
|
||||
if(data.isFileType()) {
|
||||
|
@ -15,9 +15,6 @@ import org.mian.gitnex.activities.AddRemoveLabelsActivity;
|
||||
import org.mian.gitnex.activities.EditIssueActivity;
|
||||
import org.mian.gitnex.activities.FileDiffActivity;
|
||||
import org.mian.gitnex.activities.MergePullRequestActivity;
|
||||
import org.mian.gitnex.activities.ReplyToIssueActivity;
|
||||
import org.mian.gitnex.clients.RetrofitClient;
|
||||
import org.mian.gitnex.helpers.AlertDialogs;
|
||||
import org.mian.gitnex.helpers.Toasty;
|
||||
import org.mian.gitnex.util.TinyDB;
|
||||
import androidx.annotation.NonNull;
|
||||
@ -25,8 +22,6 @@ import androidx.annotation.Nullable;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.ClipData;
|
||||
import java.util.Objects;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
|
||||
/**
|
||||
* Author M M Arif
|
||||
@ -187,30 +182,26 @@ public class BottomSheetSingleIssueFragment extends BottomSheetDialogFragment {
|
||||
if (tinyDB.getString("issueState").equals("open")) { // close issue
|
||||
|
||||
reOpenIssue.setVisibility(View.GONE);
|
||||
closeIssue.setVisibility(View.VISIBLE);
|
||||
|
||||
closeIssue.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
closeIssue.setOnClickListener(closeSingleIssue -> {
|
||||
|
||||
IssueActions.closeReopenIssue(ctx, Integer.parseInt(tinyDB.getString("issueNumber")), "closed");
|
||||
dismiss();
|
||||
IssueActions.closeReopenIssue(ctx, Integer.parseInt(tinyDB.getString("issueNumber")), "closed");
|
||||
dismiss();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
else if (tinyDB.getString("issueState").equals("closed")) {
|
||||
|
||||
closeIssue.setVisibility(View.GONE);
|
||||
reOpenIssue.setVisibility(View.VISIBLE);
|
||||
|
||||
reOpenIssue.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
reOpenIssue.setOnClickListener(reOpenSingleIssue -> {
|
||||
|
||||
IssueActions.closeReopenIssue(ctx, Integer.parseInt(tinyDB.getString("issueNumber")), "open");
|
||||
dismiss();
|
||||
IssueActions.closeReopenIssue(ctx, Integer.parseInt(tinyDB.getString("issueNumber")), "open");
|
||||
dismiss();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@ -223,22 +214,18 @@ public class BottomSheetSingleIssueFragment extends BottomSheetDialogFragment {
|
||||
|
||||
}
|
||||
|
||||
subscribeIssue.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
subscribeIssue.setOnClickListener(subscribeToIssue -> {
|
||||
|
||||
IssueActions.subscribe(ctx, subscribeIssue, unsubscribeIssue);
|
||||
IssueActions.subscribe(ctx, subscribeIssue, unsubscribeIssue);
|
||||
//dismiss();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
unsubscribeIssue.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
unsubscribeIssue.setOnClickListener(unsubscribeToIssue -> {
|
||||
|
||||
IssueActions.unsubscribe(ctx, subscribeIssue, unsubscribeIssue);
|
||||
IssueActions.unsubscribe(ctx, subscribeIssue, unsubscribeIssue);
|
||||
//dismiss();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
//if RepoWatch True Provide Unsubscribe first
|
||||
|
@ -2,7 +2,6 @@ package org.mian.gitnex.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
@ -207,57 +206,52 @@ public class IssuesClosedFragment extends Fragment implements ItemFilterListener
|
||||
footerAdapter.clear();
|
||||
//noinspection unchecked
|
||||
footerAdapter.add(new ProgressItem().withEnabled(false));
|
||||
Handler handler = new Handler();
|
||||
|
||||
handler.postDelayed(() -> {
|
||||
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().getClosedIssues(token, repoOwner, repoName, currentPage + 1, issueState, resultLimit, requestType);
|
||||
|
||||
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().getClosedIssues(token, repoOwner, repoName, currentPage + 1, issueState, resultLimit, requestType);
|
||||
call.enqueue(new Callback<List<Issues>>() {
|
||||
|
||||
call.enqueue(new Callback<List<Issues>>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<List<Issues>> call, @NonNull Response<List<Issues>> response) {
|
||||
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<List<Issues>> call, @NonNull Response<List<Issues>> response) {
|
||||
if(response.isSuccessful()) {
|
||||
|
||||
if(response.isSuccessful()) {
|
||||
assert response.body() != null;
|
||||
|
||||
assert response.body() != null;
|
||||
if(response.body().size() > 0) {
|
||||
|
||||
if(response.body().size() > 0) {
|
||||
loadNextFlag = response.body().size() == resultLimit;
|
||||
|
||||
loadNextFlag = response.body().size() == resultLimit;
|
||||
for(int i = 0; i < response.body().size(); i++) {
|
||||
|
||||
for(int i = 0; i < response.body().size(); i++) {
|
||||
|
||||
fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new IssuesAdapter(getContext()).withNewItems(response.body().get(i).getTitle(), response.body().get(i).getNumber(), response.body().get(i).getUser().getAvatar_url(), response.body().get(i).getCreated_at(), response.body().get(i).getComments(), response.body().get(i).getUser().getFull_name(), response.body().get(i).getUser().getLogin()));
|
||||
|
||||
}
|
||||
|
||||
footerAdapter.clear();
|
||||
mProgressBarClosed.setVisibility(View.GONE);
|
||||
fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new IssuesAdapter(getContext()).withNewItems(response.body().get(i).getTitle(), response.body().get(i).getNumber(), response.body().get(i).getUser().getAvatar_url(), response.body().get(i).getCreated_at(), response.body().get(i).getComments(), response.body().get(i).getUser().getFull_name(), response.body().get(i).getUser().getLogin()));
|
||||
|
||||
}
|
||||
else {
|
||||
footerAdapter.clear();
|
||||
}
|
||||
|
||||
footerAdapter.clear();
|
||||
mProgressBarClosed.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
else {
|
||||
Log.i(TAG, String.valueOf(response.code()));
|
||||
footerAdapter.clear();
|
||||
}
|
||||
|
||||
mProgressBarClosed.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
else {
|
||||
Log.i(TAG, String.valueOf(response.code()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<List<Issues>> call, @NonNull Throwable t) {
|
||||
}
|
||||
|
||||
Log.i(TAG, t.toString());
|
||||
}
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<List<Issues>> call, @NonNull Throwable t) {
|
||||
|
||||
});
|
||||
Log.i(TAG, t.toString());
|
||||
}
|
||||
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
if(!loadNextFlag) {
|
||||
footerAdapter.clear();
|
||||
|
@ -11,7 +11,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
@ -204,57 +203,52 @@ public class IssuesOpenFragment extends Fragment implements ItemFilterListener<I
|
||||
footerAdapter.clear();
|
||||
//noinspection unchecked
|
||||
footerAdapter.add(new ProgressItem().withEnabled(false));
|
||||
Handler handler = new Handler();
|
||||
|
||||
handler.postDelayed(() -> {
|
||||
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().getIssues(token, repoOwner, repoName, currentPage + 1, resultLimit, requestType);
|
||||
|
||||
Call<List<Issues>> call = RetrofitClient.getInstance(instanceUrl, getContext()).getApiInterface().getIssues(token, repoOwner, repoName, currentPage + 1, resultLimit, requestType);
|
||||
call.enqueue(new Callback<List<Issues>>() {
|
||||
|
||||
call.enqueue(new Callback<List<Issues>>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<List<Issues>> call, @NonNull Response<List<Issues>> response) {
|
||||
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<List<Issues>> call, @NonNull Response<List<Issues>> response) {
|
||||
if(response.isSuccessful()) {
|
||||
|
||||
if(response.isSuccessful()) {
|
||||
assert response.body() != null;
|
||||
|
||||
assert response.body() != null;
|
||||
if(response.body().size() > 0) {
|
||||
|
||||
if(response.body().size() > 0) {
|
||||
loadNextFlag = response.body().size() == resultLimit;
|
||||
|
||||
loadNextFlag = response.body().size() == resultLimit;
|
||||
for(int i = 0; i < response.body().size(); i++) {
|
||||
|
||||
for(int i = 0; i < response.body().size(); i++) {
|
||||
|
||||
fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new IssuesAdapter(getContext()).withNewItems(response.body().get(i).getTitle(), response.body().get(i).getNumber(), response.body().get(i).getUser().getAvatar_url(), response.body().get(i).getCreated_at(), response.body().get(i).getComments(), response.body().get(i).getUser().getFull_name(), response.body().get(i).getUser().getLogin()));
|
||||
|
||||
}
|
||||
|
||||
footerAdapter.clear();
|
||||
noDataIssues.setVisibility(View.GONE);
|
||||
fastItemAdapter.add(fastItemAdapter.getAdapterItemCount(), new IssuesAdapter(getContext()).withNewItems(response.body().get(i).getTitle(), response.body().get(i).getNumber(), response.body().get(i).getUser().getAvatar_url(), response.body().get(i).getCreated_at(), response.body().get(i).getComments(), response.body().get(i).getUser().getFull_name(), response.body().get(i).getUser().getLogin()));
|
||||
|
||||
}
|
||||
else {
|
||||
footerAdapter.clear();
|
||||
}
|
||||
|
||||
mProgressBar.setVisibility(View.GONE);
|
||||
footerAdapter.clear();
|
||||
noDataIssues.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
else {
|
||||
Log.i(TAG, String.valueOf(response.code()));
|
||||
footerAdapter.clear();
|
||||
}
|
||||
|
||||
mProgressBar.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
else {
|
||||
Log.i(TAG, String.valueOf(response.code()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<List<Issues>> call, @NonNull Throwable t) {
|
||||
}
|
||||
|
||||
Log.i(TAG, t.toString());
|
||||
}
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<List<Issues>> call, @NonNull Throwable t) {
|
||||
|
||||
});
|
||||
Log.i(TAG, t.toString());
|
||||
}
|
||||
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
if(!loadNextFlag) {
|
||||
footerAdapter.clear();
|
||||
|
@ -317,6 +317,8 @@ public class RepoInfoFragment extends Fragment {
|
||||
tinyDb.putBoolean("hasIssues", true);
|
||||
}
|
||||
|
||||
tinyDb.putString("repoHtmlUrl", repoInfo.getHtml_url());
|
||||
|
||||
mProgressBar.setVisibility(View.GONE);
|
||||
pageContent.setVisibility(View.VISIBLE);
|
||||
|
||||
|
45
app/src/main/res/drawable-anydpi-v24/gitnex_transparent.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="120.59775"
|
||||
android:viewportHeight="120.59775"
|
||||
android:tint="#FFFFFF">
|
||||
<group android:translateX="-7.436125"
|
||||
android:translateY="-7.436125">
|
||||
<path
|
||||
android:pathData="M67.733,67.74m-67.733,0a67.733,67.733 0,1 1,135.466 0a67.733,67.733 0,1 1,-135.466 0"
|
||||
android:fillColor="#39404a"
|
||||
android:fillAlpha="0.0"/>
|
||||
<path
|
||||
android:pathData="M31.738,44.619a9.139,9.151 63.874,1 0,12.769 -13.108a9.139,9.151 63.874,1 0,-12.769 13.108z"
|
||||
android:fillColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="M31.875,114.541a9.139,9.151 63.874,1 0,12.769 -13.108a9.139,9.151 63.874,1 0,-12.769 13.108z"
|
||||
android:fillColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="M61.361,79.846a9.139,9.151 63.874,1 0,12.769 -13.108a9.139,9.151 63.874,1 0,-12.769 13.108z"
|
||||
android:fillColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="M34.37,18.337l7.038,0.003l-0.096,85.655l-7.038,-0.003z"
|
||||
android:fillColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="m37.878,38.133c31.743,0.128 29.614,-4.427 29.723,36.496"
|
||||
android:strokeWidth="8.7255"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="m97.323,108.453c-31.743,-0.128 -29.614,4.427 -29.723,-36.496"
|
||||
android:strokeWidth="8.7255"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="M90.959,44.619a9.139,9.151 63.874,1 0,12.769 -13.108a9.139,9.151 63.874,1 0,-12.769 13.108z"
|
||||
android:fillColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="M90.955,114.542a9.139,9.151 63.874,1 0,12.769 -13.108a9.139,9.151 63.874,1 0,-12.769 13.108z"
|
||||
android:fillColor="#39404a"/>
|
||||
<path
|
||||
android:pathData="M93.872,35.062l7.038,0.002l-0.096,68.927l-7.038,-0.002z"
|
||||
android:fillColor="#39404a"/>
|
||||
</group>
|
||||
</vector>
|
BIN
app/src/main/res/drawable-hdpi/gitnex_transparent.png
Normal file
After Width: | Height: | Size: 576 B |
BIN
app/src/main/res/drawable-mdpi/gitnex_transparent.png
Normal file
After Width: | Height: | Size: 386 B |
BIN
app/src/main/res/drawable-xhdpi/gitnex_transparent.png
Normal file
After Width: | Height: | Size: 730 B |
BIN
app/src/main/res/drawable-xxhdpi/gitnex_transparent.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/gitnex_transparent.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
@ -89,13 +89,13 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.pddstudio.highlightjs.HighlightJsView
|
||||
android:id="@+id/singleCodeContents"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/highlightJs"
|
||||
android:layout_marginTop="42dp"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"
|
||||
android:orientation="vertical" />
|
||||
|
||||
<com.github.chrisbanes.photoview.PhotoView
|
||||
android:id="@+id/imageView"
|
||||
|
@ -44,36 +44,36 @@
|
||||
app:tabTextColor="?attr/primaryTextColor"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItem1_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tab_text_info" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItemFiles"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tab_text_files" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItem1_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tab_text_info" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItem2_issues"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pageTitleIssues" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItemPullRequests"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tabPullRequests" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItem5_branches"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tab_text_branches" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItemPullRequests"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tabPullRequests" />
|
||||
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:id="@+id/tabItem6_releases"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -88,7 +88,8 @@
|
||||
android:drawablePadding="24dp"
|
||||
android:textColor="?attr/primaryTextColor"
|
||||
android:textSize="16sp"
|
||||
android:padding="16dp" />
|
||||
android:padding="16dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/unsubscribeIssue"
|
||||
|
9
app/src/main/res/layout/custom_highlightjs.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.pddstudio.highlightjs.HighlightJsView
|
||||
android:id="@+id/singleCodeContents"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginTop="42dp"
|
||||
android:visibility="gone"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android" />
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -70,7 +70,7 @@
|
||||
<string name="emptyFieldUsername">Benutzername ist erforderlich</string>
|
||||
<string name="emptyFieldPassword">Passwort ist erforderlich</string>
|
||||
<string name="checkNetConnection">Kann nicht auf das Netzwerk zugreifen. Bitte überprüfe die Internetverbindung</string>
|
||||
<string name="netConnectionIsBack">Juhu, wir haben Internetverbindung!</string>
|
||||
<string name="netConnectionIsBack">Juhu, wir haben eine Internetverbindung!</string>
|
||||
<string name="repoNameErrorEmpty">Der Repository Name ist leer.</string>
|
||||
<string name="repoNameErrorInvalid">Der Repository Name ist nicht gültig. [a–z A–Z 0–9 – _]</string>
|
||||
<string name="repoNameErrorReservedName">Repository-Name ist reserviert</string>
|
||||
@ -495,6 +495,12 @@
|
||||
<string name="closeMilestone">Meilenstein schließen</string>
|
||||
<string name="openMilestone">Meilenstein wieder öffnen</string>
|
||||
<string name="milestoneStatusUpdate">Meilensteinstatus erfolgreich aktualisiert</string>
|
||||
<string name="tabIssueOpen">Offene</string>
|
||||
<string name="tabIssueClosed">Geschlossene</string>
|
||||
<string name="tabIssueOpen">Offen</string>
|
||||
<string name="tabIssueClosed">Geschlossen</string>
|
||||
<string name="errorOnLogin">Der Server kann nicht erreicht werden, bitte überprüfe deinen Serverstatus</string>
|
||||
<string name="reportViewerHeader">Absturzberichte</string>
|
||||
<string name="settingsEnableReportsText">Absturzberichte aktivieren</string>
|
||||
<string name="crashTitle">GitNex hat gestoppt :(</string>
|
||||
<string name="setCrashReports">Absturzberichte</string>
|
||||
<string name="crashMessage">Klicke auf OK, um den Absturzbericht per E-Mail zu senden. Es wird helfen, diesen zu beheben :)\n\nDu könntest auch zusätzliche Infos in der E-Mail angeben. Danke für deine Hilfe!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -500,4 +500,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -120,8 +120,8 @@
|
||||
<string name="infoTabRepoForksCount">Bifurcations</string>
|
||||
<string name="infoTabRepoCreatedAt">Créé</string>
|
||||
<string name="infoTabRepoUpdatedAt">Dernière modification</string>
|
||||
<string name="infoShowMoreInformation">Show More Information</string>
|
||||
<string name="infoMoreInformation">More Information</string>
|
||||
<string name="infoShowMoreInformation">Voir plus d’informations</string>
|
||||
<string name="infoMoreInformation">Plus d’informations</string>
|
||||
<string name="timeAtText">à</string>
|
||||
<string name="createdText">Ouvert\u0020</string>
|
||||
<string name="dueDateText">Échéance</string>
|
||||
@ -213,8 +213,8 @@
|
||||
<string name="settingsPdfModeHeaderText">PDF mode nuit</string>
|
||||
<string name="fileViewerHeader">Visionneuse de fichiers</string>
|
||||
<string name="settingsCounterBadges">Compteurs</string>
|
||||
<string name="settingsFileviewerSourceCodeHeaderText">Source Code Theme</string>
|
||||
<string name="fileviewerSourceCodeThemeSelectorDialogTitle">Select Source Code Theme</string>
|
||||
<string name="settingsFileviewerSourceCodeHeaderText">Thème du code source</string>
|
||||
<string name="fileviewerSourceCodeThemeSelectorDialogTitle">Thème du code source</string>
|
||||
<!-- settings -->
|
||||
<string name="noMoreData">Aucune donnée</string>
|
||||
<string name="createLabel">Nouvelle étiquette</string>
|
||||
@ -495,6 +495,12 @@
|
||||
<string name="closeMilestone">Fermer le jalon</string>
|
||||
<string name="openMilestone">Ouvrir le jalon</string>
|
||||
<string name="milestoneStatusUpdate">Jalon mis à jour</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="tabIssueOpen">Ouvert</string>
|
||||
<string name="tabIssueClosed">Fermé</string>
|
||||
<string name="errorOnLogin">Impossible d’accéder au serveur, veuillez vérifier son statut</string>
|
||||
<string name="reportViewerHeader">Rapports de plantage</string>
|
||||
<string name="settingsEnableReportsText">Activer les rapports de plantage</string>
|
||||
<string name="crashTitle">GitNex s’est arrêté :(</string>
|
||||
<string name="setCrashReports">Rapports de plantage</string>
|
||||
<string name="crashMessage">Appuyez sur OK pour nous envoyer le rapport de plantage par e-mail. Cela nous aidera à corriger le problème :)\n\nVous pouvez également y ajouter vos propres remarques. Merci !</string>
|
||||
</resources>
|
||||
|
@ -499,4 +499,10 @@ autorizzazione</string>
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -70,7 +70,7 @@
|
||||
<string name="emptyFieldUsername">Nazwa użytkownika jest wymagana</string>
|
||||
<string name="emptyFieldPassword">Hasło jest wymagane</string>
|
||||
<string name="checkNetConnection">Nie można uzyskać dostępu do sieci, sprawdź swoje połączenie internetowe</string>
|
||||
<string name="netConnectionIsBack">Yay, We have Internet connection!</string>
|
||||
<string name="netConnectionIsBack">Jej, mamy połączenie z Internetem!</string>
|
||||
<string name="repoNameErrorEmpty">Nazwa repozytorium jest pusta</string>
|
||||
<string name="repoNameErrorInvalid">Nazwa repozytorium jest nieprawidłowa. [a–z A–Z 0–9 – _]</string>
|
||||
<string name="repoNameErrorReservedName">Nazwa repozytorium jest zarezerwowana</string>
|
||||
@ -120,8 +120,8 @@
|
||||
<string name="infoTabRepoForksCount">Forki</string>
|
||||
<string name="infoTabRepoCreatedAt">Utworzono</string>
|
||||
<string name="infoTabRepoUpdatedAt">Ostatnia aktualizacja</string>
|
||||
<string name="infoShowMoreInformation">Show More Information</string>
|
||||
<string name="infoMoreInformation">More Information</string>
|
||||
<string name="infoShowMoreInformation">Pokaż więcej informacji</string>
|
||||
<string name="infoMoreInformation">Więcej informacji</string>
|
||||
<string name="timeAtText">w</string>
|
||||
<string name="createdText">Otwarty\u0020</string>
|
||||
<string name="dueDateText">Termin</string>
|
||||
@ -135,7 +135,7 @@
|
||||
<string name="issueTypePullRequest">Typ: Pull Request</string>
|
||||
<string name="issueCommenter">Komentujący:\u0020</string>
|
||||
<string name="issueMilestone">Etap %1$s</string>
|
||||
<string name="dueDate">Due on %1$s</string>
|
||||
<string name="dueDate">Termin %1$s</string>
|
||||
<string name="createdTime">Otwarto %1$s</string>
|
||||
<string name="assignedTo">Przypisano do: %1$s</string>
|
||||
<string name="commentButtonText">Komentarz</string>
|
||||
@ -143,15 +143,15 @@
|
||||
<string name="commentSuccess">Komentarz wysłany</string>
|
||||
<string name="commentError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||
<string name="generalImgContentText">Awatar</string>
|
||||
<string name="noDataMilestonesTab">Nie znaleziono kamieni milowych</string>
|
||||
<string name="commitAuthor">Autor commit: %1$s</string>
|
||||
<string name="noDataMilestonesTab">Nie znaleziono etapów</string>
|
||||
<string name="commitAuthor">Autor commitu: %1$s</string>
|
||||
<string name="commitHash">Hash commita \n%1$s%2$s</string>
|
||||
<string name="releaseTitle">Tytuł wydania</string>
|
||||
<string name="releaseDescription">Opis wydania</string>
|
||||
<string name="releaseDownloadText">Pobrania</string>
|
||||
<string name="releaseType">Typ wydania</string>
|
||||
<string name="releaseZip">Wydaj Zip</string>
|
||||
<string name="releaseTar">Wydaj Tar</string>
|
||||
<string name="releaseZip">Wydanie Zip</string>
|
||||
<string name="releaseTar">Wydanie Tar</string>
|
||||
<string name="noDataReleasesTab">Nie znaleziono wydań</string>
|
||||
<string name="releaseTag">Tag: %1$s</string>
|
||||
<string name="collaboratorsNameToast">Współpracujący: %1$s</string>
|
||||
@ -213,8 +213,8 @@
|
||||
<string name="settingsPdfModeHeaderText">Tryb nocny PDF</string>
|
||||
<string name="fileViewerHeader">Przeglądarka plików</string>
|
||||
<string name="settingsCounterBadges">Odznaki liczników</string>
|
||||
<string name="settingsFileviewerSourceCodeHeaderText">Source Code Theme</string>
|
||||
<string name="fileviewerSourceCodeThemeSelectorDialogTitle">Select Source Code Theme</string>
|
||||
<string name="settingsFileviewerSourceCodeHeaderText">Motyw kodu źródłowego</string>
|
||||
<string name="fileviewerSourceCodeThemeSelectorDialogTitle">Wybierz motyw kodu źródłowego</string>
|
||||
<!-- settings -->
|
||||
<string name="noMoreData">Brak dostępnych danych</string>
|
||||
<string name="createLabel">Nowa etykieta</string>
|
||||
@ -245,10 +245,10 @@
|
||||
<!-- org tabbed layout str -->
|
||||
<string name="title_activity_org_detail">Szczegółowa aktywność organizacji</string>
|
||||
<string name="orgTabRepos">Repozytoria</string>
|
||||
<string name="orgTabTeams">Drużyny</string>
|
||||
<string name="orgTabTeams">Zespoły</string>
|
||||
<string name="orgTabMembers">Członkowie</string>
|
||||
<string name="orgCreateTeam">Nowy zespół</string>
|
||||
<string name="noDataTeams">Nie znaleziono drużyn</string>
|
||||
<string name="noDataTeams">Nie znaleziono zespołów</string>
|
||||
<string name="teamTitle">Nazwa zespołu</string>
|
||||
<string name="teamDescription">Opis zespołu</string>
|
||||
<string name="teamPermission">Pozwolenie: %1$s</string>
|
||||
@ -311,8 +311,8 @@
|
||||
<string name="addRemoveAssignees2">Dodaj przypisanych osób</string>
|
||||
<string name="addRemoveAssignees">Dodaj / Usuń przypisanych osób</string>
|
||||
<string name="assigneesUpdated">Zaktualizowano przypisanych</string>
|
||||
<string name="singleIssueSubscribe">Subscribe</string>
|
||||
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||
<string name="singleIssueSubscribe">Subskrybuj</string>
|
||||
<string name="singleIssueUnSubscribe">Anuluj subskrypcję</string>
|
||||
<!-- single issue section -->
|
||||
<!-- multi select dialog -->
|
||||
<string name="select_entry">Wybierz wpisy</string>
|
||||
@ -366,11 +366,11 @@
|
||||
<string name="repoWatchersInMenu">Obserwatorzy</string>
|
||||
<string name="noDataStargazers">Nie znaleziono gwiazdek</string>
|
||||
<string name="noDataWatchers">Nie znaleziono obserwatorów</string>
|
||||
<string name="noDataWebsite">No website found</string>
|
||||
<string name="noDataWebsite">Nie znaleziono strony internetowej</string>
|
||||
<string name="starMember">Gwiazdka</string>
|
||||
<string name="watcherMember">Obserwujący</string>
|
||||
<string name="commitLinkBranchesTab">Commit</string>
|
||||
<string name="zipArchiveDownloadReleasesTab">Archiwum ZIP</string>
|
||||
<string name="zipArchiveDownloadReleasesTab">Archiwum Zip</string>
|
||||
<string name="tarArchiveDownloadReleasesTab">Archiwum Tar</string>
|
||||
<!-- new file -->
|
||||
<string name="newFileNameTintCopy">Nazwa pliku</string>
|
||||
@ -433,7 +433,7 @@
|
||||
<string name="unWatchRepositorySuccess">Repozytorium usunięte z listy obserwacyjnej</string>
|
||||
<string name="versionUnsupportedOld">Wykryto nieobsługiwaną starą wersję(%1$s) Gitea. Proszę zaktualizować do najnowszej stabilnej wersji. Jeśli kontynuujesz, aplikacja może nie działać poprawnie.</string>
|
||||
<string name="versionSupportedOld">Wykryto starą wersję Gitea, proszę zaktualizować do najnowszej stabilnej wersji</string>
|
||||
<string name="versionUnsupportedNew">Wykryto nową wersję Gitea! Proszę AKTUALIZUJ GitNex!</string>
|
||||
<string name="versionUnsupportedNew">Wykryto nową wersję Gitea! Proszę ZAKTUALIZOWAĆ GitNex!</string>
|
||||
<string name="versionSupportedLatest">Wersja Gitea jest aktualna</string>
|
||||
<string name="versionDevelopment">Wersja rozwojowa Gitea</string>
|
||||
<string name="versionUnknow">Nie wykryto Gitea!</string>
|
||||
@ -446,7 +446,7 @@
|
||||
<string name="noDataPullRequests">Nie znaleziono pull requestów</string>
|
||||
<string name="prCreator">Twórca:\u0020</string>
|
||||
<string name="editPrText">Edytuj Pull Request</string>
|
||||
<string name="copyPrUrlText">Skopiuj Pull Request URL</string>
|
||||
<string name="copyPrUrlText">Skopiuj adres URL Pull Requesta</string>
|
||||
<string name="editPrNavHeader">Edytuj Pull Request #%1$s</string>
|
||||
<string name="editPrSuccessMessage">Zaktualizowano Pull Request</string>
|
||||
<string name="fileDiffViewHeader">%1$s Plików zmienionych</string>
|
||||
@ -488,13 +488,19 @@
|
||||
<string name="mtm_decision_once">Raz</string>
|
||||
<string name="mtm_decision_abort">Przerwij</string>
|
||||
<string name="issueCommentShare">Udostępnij komentarz</string>
|
||||
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||
<string name="closeMilestone">Close Milestone</string>
|
||||
<string name="openMilestone">Open Milestone</string>
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="issueSubscribtion">Problem zasubskrybowany</string>
|
||||
<string name="issueSubscribtionError">Błąd subskrypcji</string>
|
||||
<string name="issueUnsubscribtion">Subskrypcja problemu anulowana</string>
|
||||
<string name="issueUnsubscribtionError">Błąd anulowania subskrypcji</string>
|
||||
<string name="closeMilestone">Zamknij etap</string>
|
||||
<string name="openMilestone">Otwórz etap</string>
|
||||
<string name="milestoneStatusUpdate">Status etapu zaktualizowany pomyślnie</string>
|
||||
<string name="tabIssueOpen">Otwarte</string>
|
||||
<string name="tabIssueClosed">Zamknięte</string>
|
||||
<string name="errorOnLogin">Nie możemy połączyć się z serwerem, sprawdź status serwera</string>
|
||||
<string name="reportViewerHeader">Raporty awarii</string>
|
||||
<string name="settingsEnableReportsText">Włącz raporty awarii</string>
|
||||
<string name="crashTitle">GitNex zatrzymał się :(</string>
|
||||
<string name="setCrashReports">Raporty awarii</string>
|
||||
<string name="crashMessage">Możesz nacisnąć przycisk OK, aby wysłać raport o awarii pocztą elektroniczną. Pomoże to naprawić to :)\n\nMożesz również dodać dodatkowe treści w wiadomości e-mail. Dziękujemy!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Фаза је ажурирана</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -63,7 +63,7 @@
|
||||
<string name="logo">登录到 Gitea</string>
|
||||
<string name="urlInfoTooltip">1- 选择协议 (https 或 http). \n2- 输入Gitea访问地址(可带端口) 例如: try.gitea.io:3000. \n3- 如已启用双重验证,请在OTP输入有效代码。 \n4- 在 URL 字段中使用 USERNAME@DOMAIN.COM 进行 HTTP 基本身份验证。</string>
|
||||
<string name="loginFailed">用户名或密码错误</string>
|
||||
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors.</string>
|
||||
<string name="malformedUrl">无法连接到主机,请检查您的URL或端口是否有任何错误。</string>
|
||||
<string name="protocolError">非本地网络建议使用HTTPS安全协议进行访问。</string>
|
||||
<string name="malformedJson">JSON 格式错误。服务器响应不成功。</string>
|
||||
<string name="emptyFieldURL">未填写 Gitea访问地址</string>
|
||||
@ -497,4 +497,10 @@
|
||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||
<string name="tabIssueOpen">Open</string>
|
||||
<string name="tabIssueClosed">Closed</string>
|
||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||
<string name="reportViewerHeader">Crash Reports</string>
|
||||
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||
<string name="crashTitle">GitNex has stopped :(</string>
|
||||
<string name="setCrashReports">Crash reports</string>
|
||||
<string name="crashMessage">You can tap the OK button to send the crash report by email. It will help to fix it :)\n\nYou can also add additional content in the email. Thank you!</string>
|
||||
</resources>
|
||||
|
@ -1,9 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<changelog>
|
||||
|
||||
<release version="2.5.0-rc4" versioncode="104">
|
||||
<change>Release notes will be published with the stable release.</change>
|
||||
<change>In the mean time check the milestone 2.5.0 for pull requests and issues that are merged/closed.</change>
|
||||
<release version="2.5.1" versioncode="251">
|
||||
<change>Bugfix: Crash when swiping issues tabs</change>
|
||||
<change>Bugfix: Share repo empty url</change>
|
||||
<change>Bugfix: Notification icons</change>
|
||||
<change>Bugfix: Duplicate entries in diff view of PR files</change>
|
||||
<change>Bugfix: Crash on tapping dropdowns (Android 5 bug)</change>
|
||||
<change>Bugfix: Code highlighter (Android 5 and 6 bug)</change>
|
||||
</release>
|
||||
|
||||
<release version="2.5.0" versioncode="250">
|
||||
<change>New: Share issues, repositories, comments</change>
|
||||
<change>New: Changelog popup</change>
|
||||
<change>New: Show size of files in Files tab</change>
|
||||
<change>New: Repository commits</change>
|
||||
<change>New: Self signed certificates support</change>
|
||||
<change>New: Counter badges for PR and Releases</change>
|
||||
<change>New: Subscribe/unsubscribe to issue</change>
|
||||
<change>New: Redesign repo info screen</change>
|
||||
<change>New: Close / Reopen milestone</change>
|
||||
<change>New: Theme auto switcher (choose from settings)</change>
|
||||
<change>New: Merge open and closed issues under one tab</change>
|
||||
<change>New: Integrate crash reporting</change>
|
||||
<change>Improvement: Better detection of internet connection on login screen</change>
|
||||
<change>Improvement: Token login is now prioritized (login via token is recommended)</change>
|
||||
<change>Improvement: Focus on input and trigger keyboard</change>
|
||||
<change>Improvement: Create repo from organization</change>
|
||||
<change>Improvement: Show useful message for reserved keywords</change>
|
||||
<change>Improvement: Placeholder for images</change>
|
||||
<change>Improvement: Bottomsheets instead of popup menus</change>
|
||||
<change>Improvement: Caching images for offline mode</change>
|
||||
<change>Improvement: FAB button to comment on issue</change>
|
||||
<change>Improvement: Snackbar (login screen)</change>
|
||||
<change>Improvement: Refactor Issues tabs</change>
|
||||
<change>Improvement: Multiple merge options like web UI</change>
|
||||
<change>Improvement: Manrope as default font</change>
|
||||
<change>Improvement: Remember login type</change>
|
||||
<change>Improvement: Improve labels</change>
|
||||
<change>Improvement: Hide collaborators tab for non admins</change>
|
||||
<change>Bugfix: Use correct protocol when open repo in browser</change>
|
||||
<change>Bugfix: Can't choose token selector when internet is Off</change>
|
||||
<change>Bugfix: Empty repositories screen on new logins</change>
|
||||
<change>Bugfix: Issues search bug</change>
|
||||
<change>Bugfix: Crash on version API when REQUIRE_SIGNIN_VIEW is set to true</change>
|
||||
<change>Bugfix: Milestone desc and due date disappreance bug</change>
|
||||
<change>Bugfix: Date/time in issue comments bug</change>
|
||||
</release>
|
||||
|
||||
</changelog>
|
@ -7,7 +7,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.6.2'
|
||||
classpath 'com.android.tools.build:gradle:3.6.3'
|
||||
|
||||
}
|
||||
}
|
||||
|
18
fastlane/metadata/android/en-US/changelogs/250.txt
Normal file
@ -0,0 +1,18 @@
|
||||
2.5.0
|
||||
|
||||
New:
|
||||
- Share issues, repositories, comments
|
||||
- Changelog popup
|
||||
- Show size of files in Files tab
|
||||
- Repository commits
|
||||
- Self signed certificates support
|
||||
- Counter badges for PR and Releases
|
||||
- Subscribe/unsubscribe to issue
|
||||
- Redesign repo info screen
|
||||
- Close / Reopen milestone
|
||||
- Theme auto switcher (choose from settings)
|
||||
- Merge open and closed issues under one tab
|
||||
- Integrate crash reporting
|
||||
|
||||
Check release notes for complete list
|
||||
https://gitea.com/gitnex/GitNex/releases
|
12
fastlane/metadata/android/en-US/changelogs/251.txt
Normal file
@ -0,0 +1,12 @@
|
||||
2.5.1
|
||||
|
||||
Bugfix:
|
||||
- Fix crash when swiping issues tabs
|
||||
- Fix share repo empty url
|
||||
- Notification icons
|
||||
- Fix duplicate entries in diff view of PR files
|
||||
- Fix crash on tapping dropdowns (Android 5 bug)
|
||||
- Fix code highlighter (Android 5 and 6 bug)
|
||||
|
||||
Check release notes for complete list
|
||||
https://gitea.com/gitnex/GitNex/releases
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 67 KiB |