Compare commits
4 Commits
3.4.0
...
release-3.
Author | SHA1 | Date | |
---|---|---|---|
030498f360 | |||
0fd072611b | |||
7aec99641e | |||
40f909e46b |
@ -6,8 +6,8 @@ android {
|
|||||||
applicationId "org.mian.gitnex"
|
applicationId "org.mian.gitnex"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 30
|
targetSdkVersion 30
|
||||||
versionCode 340
|
versionCode 330
|
||||||
versionName "3.4.0"
|
versionName "3.3.0"
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
@ -54,8 +54,8 @@ configurations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
def lifecycle_version = '2.3.0-rc01'
|
def lifecycle_version = '2.3.0-beta01'
|
||||||
def markwon_version = '4.6.1'
|
def markwon_version = '4.6.0'
|
||||||
def work_version = "2.4.0"
|
def work_version = "2.4.0"
|
||||||
def acra = "5.7.0"
|
def acra = "5.7.0"
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ dependencies {
|
|||||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||||
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
|
||||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
|
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
|
||||||
implementation 'org.ocpsoft.prettytime:prettytime:5.0.0.Final'
|
implementation 'org.ocpsoft.prettytime:prettytime:4.0.6.Final'
|
||||||
implementation "com.pes.materialcolorpicker:library:1.2.5"
|
implementation "com.pes.materialcolorpicker:library:1.2.5"
|
||||||
implementation "io.noties.markwon:core:$markwon_version"
|
implementation "io.noties.markwon:core:$markwon_version"
|
||||||
implementation "io.noties.markwon:ext-latex:$markwon_version"
|
implementation "io.noties.markwon:ext-latex:$markwon_version"
|
||||||
@ -104,12 +104,12 @@ dependencies {
|
|||||||
implementation "ch.acra:acra-mail:$acra"
|
implementation "ch.acra:acra-mail:$acra"
|
||||||
implementation "ch.acra:acra-limiter:$acra"
|
implementation "ch.acra:acra-limiter:$acra"
|
||||||
implementation "ch.acra:acra-notification:$acra"
|
implementation "ch.acra:acra-notification:$acra"
|
||||||
implementation 'androidx.room:room-runtime:2.2.6'
|
implementation "androidx.room:room-runtime:2.2.5"
|
||||||
annotationProcessor 'androidx.room:room-compiler:2.2.6'
|
annotationProcessor "androidx.room:room-compiler:2.2.5"
|
||||||
implementation "androidx.work:work-runtime:$work_version"
|
implementation "androidx.work:work-runtime:$work_version"
|
||||||
implementation "com.eightbitlab:blurview:1.6.4"
|
implementation "com.eightbitlab:blurview:1.6.4"
|
||||||
implementation "io.mikael:urlbuilder:2.0.9"
|
implementation "io.mikael:urlbuilder:2.0.9"
|
||||||
implementation "org.codeberg.gitnex-garage:emoji-java:v5.1.2"
|
implementation "org.codeberg.gitnex-garage:emoji-java:v5.1.2"
|
||||||
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.1"
|
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.0"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -50,47 +50,36 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||||||
switch(tinyDB.getInt("themeId")) {
|
switch(tinyDB.getInt("themeId")) {
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "light");
|
tinyDB.putString("currentTheme", "light");
|
||||||
setTheme(R.style.AppThemeLight);
|
setTheme(R.style.AppThemeLight);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
|
|
||||||
if(TimeHelper.timeBetweenHours(18, 6)) { // 6pm to 6am
|
if(TimeHelper.timeBetweenHours(18, 6)) { // 6pm to 6am
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "dark");
|
tinyDB.putString("currentTheme", "dark");
|
||||||
setTheme(R.style.AppTheme);
|
setTheme(R.style.AppTheme);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "light");
|
tinyDB.putString("currentTheme", "light");
|
||||||
setTheme(R.style.AppThemeLight);
|
setTheme(R.style.AppThemeLight);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
|
||||||
|
|
||||||
|
case 3:
|
||||||
tinyDB.putString("currentTheme", "light");
|
tinyDB.putString("currentTheme", "light");
|
||||||
setTheme(R.style.AppThemeRetro);
|
setTheme(R.style.AppThemeRetro);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
if(TimeHelper.timeBetweenHours(18, 6)) { // 6pm to 6am
|
if(TimeHelper.timeBetweenHours(18, 6)) { // 6pm to 6am
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "dark");
|
tinyDB.putString("currentTheme", "dark");
|
||||||
setTheme(R.style.AppTheme);
|
setTheme(R.style.AppTheme);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "light");
|
tinyDB.putString("currentTheme", "light");
|
||||||
setTheme(R.style.AppThemeRetro);
|
setTheme(R.style.AppThemeRetro);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "dark");
|
|
||||||
setTheme(R.style.AppThemePitchBlack);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
tinyDB.putString("currentTheme", "dark");
|
tinyDB.putString("currentTheme", "dark");
|
||||||
setTheme(R.style.AppTheme);
|
setTheme(R.style.AppTheme);
|
||||||
|
|
||||||
@ -106,25 +95,25 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||||||
switch(tinyDB.getInt("customFontId", -1)) {
|
switch(tinyDB.getInt("customFontId", -1)) {
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
|
|
||||||
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/roboto.ttf");
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/roboto.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/roboto.ttf");
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/roboto.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "SERIF", "fonts/roboto.ttf");
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/roboto.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/roboto.ttf");
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/roboto.ttf");
|
||||||
break;
|
break;
|
||||||
case 2:
|
|
||||||
|
|
||||||
|
case 2:
|
||||||
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/sourcecodeproregular.ttf");
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/sourcecodeproregular.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/sourcecodeproregular.ttf");
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/sourcecodeproregular.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "SERIF", "fonts/sourcecodeproregular.ttf");
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/sourcecodeproregular.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/sourcecodeproregular.ttf");
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/sourcecodeproregular.ttf");
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
|
|
||||||
|
default:
|
||||||
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/manroperegular.ttf");
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/manroperegular.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/manroperegular.ttf");
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/manroperegular.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "SERIF", "fonts/manroperegular.ttf");
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/manroperegular.ttf");
|
||||||
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/manroperegular.ttf");
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tinyDB.getInt("pollingDelayMinutes", 0) <= 0) {
|
if(tinyDB.getInt("pollingDelayMinutes", 0) <= 0) {
|
||||||
|
@ -23,7 +23,6 @@ import org.mian.gitnex.helpers.Toasty;
|
|||||||
import org.mian.gitnex.models.CreateLabel;
|
import org.mian.gitnex.models.CreateLabel;
|
||||||
import org.mian.gitnex.models.Labels;
|
import org.mian.gitnex.models.Labels;
|
||||||
import org.mian.gitnex.viewmodels.LabelsViewModel;
|
import org.mian.gitnex.viewmodels.LabelsViewModel;
|
||||||
import org.mian.gitnex.viewmodels.OrganizationLabelsViewModel;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
@ -38,7 +37,6 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
private TextView colorPicker;
|
private TextView colorPicker;
|
||||||
private EditText labelName;
|
private EditText labelName;
|
||||||
private Button createLabelButton;
|
private Button createLabelButton;
|
||||||
private TinyDB tinyDB;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getLayoutResourceId(){
|
protected int getLayoutResourceId(){
|
||||||
@ -52,17 +50,20 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
|
|
||||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
|
|
||||||
tinyDB = TinyDB.getInstance(appCtx);
|
final TinyDB tinyDb = TinyDB.getInstance(appCtx);
|
||||||
String repoFullName = tinyDB.getString("repoFullName");
|
String repoFullName = tinyDb.getString("repoFullName");
|
||||||
String[] parts = repoFullName.split("/");
|
String[] parts = repoFullName.split("/");
|
||||||
final String repoOwner = parts[0];
|
final String repoOwner = parts[0];
|
||||||
final String repoName = parts[1];
|
final String repoName = parts[1];
|
||||||
|
final String loginUid = tinyDb.getString("loginUid");
|
||||||
|
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
|
||||||
|
|
||||||
if(getIntent().getStringExtra("labelAction") != null && Objects.requireNonNull(getIntent().getStringExtra("labelAction")).equals("delete")) {
|
if(getIntent().getStringExtra("labelAction") != null && Objects.requireNonNull(getIntent().getStringExtra("labelAction")).equals("delete")) {
|
||||||
|
|
||||||
deleteLabel(repoOwner, repoName, Integer.parseInt(Objects.requireNonNull(getIntent().getStringExtra("labelId"))));
|
deleteLabel(instanceToken, repoOwner, repoName, Integer.parseInt(Objects.requireNonNull(getIntent().getStringExtra("labelId"))), loginUid);
|
||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean connToInternet = AppUtil.hasNetworkConnection(appCtx);
|
boolean connToInternet = AppUtil.hasNetworkConnection(appCtx);
|
||||||
@ -86,7 +87,7 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
|
|
||||||
//Log.i("#Hex no alpha", String.format("#%06X", (0xFFFFFF & color)));
|
//Log.i("#Hex no alpha", String.format("#%06X", (0xFFFFFF & color)));
|
||||||
colorPicker.setBackgroundColor(color);
|
colorPicker.setBackgroundColor(color);
|
||||||
tinyDB.putString("labelColor", String.format("#%06X", (0xFFFFFF & color)));
|
tinyDb.putString("labelColor", String.format("#%06X", (0xFFFFFF & color)));
|
||||||
cp.dismiss();
|
cp.dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -95,7 +96,7 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
labelName.setText(getIntent().getStringExtra("labelTitle"));
|
labelName.setText(getIntent().getStringExtra("labelTitle"));
|
||||||
int labelColor_ = Color.parseColor("#" + getIntent().getStringExtra("labelColor"));
|
int labelColor_ = Color.parseColor("#" + getIntent().getStringExtra("labelColor"));
|
||||||
colorPicker.setBackgroundColor(labelColor_);
|
colorPicker.setBackgroundColor(labelColor_);
|
||||||
tinyDB.putString("labelColorDefault", "#" + getIntent().getStringExtra("labelColor"));
|
tinyDb.putString("labelColorDefault", "#" + getIntent().getStringExtra("labelColor"));
|
||||||
|
|
||||||
TextView toolbar_title = findViewById(R.id.toolbar_title);
|
TextView toolbar_title = findViewById(R.id.toolbar_title);
|
||||||
toolbar_title.setText(getResources().getString(R.string.pageTitleLabelUpdate));
|
toolbar_title.setText(getResources().getString(R.string.pageTitleLabelUpdate));
|
||||||
@ -122,23 +123,26 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
|
|
||||||
private void processUpdateLabel() {
|
private void processUpdateLabel() {
|
||||||
|
|
||||||
|
final TinyDB tinyDb = TinyDB.getInstance(appCtx);
|
||||||
boolean connToInternet = AppUtil.hasNetworkConnection(appCtx);
|
boolean connToInternet = AppUtil.hasNetworkConnection(appCtx);
|
||||||
AppUtil appUtil = new AppUtil();
|
AppUtil appUtil = new AppUtil();
|
||||||
String repoFullName = tinyDB.getString("repoFullName");
|
String repoFullName = tinyDb.getString("repoFullName");
|
||||||
String[] parts = repoFullName.split("/");
|
String[] parts = repoFullName.split("/");
|
||||||
final String repoOwner = parts[0];
|
final String repoOwner = parts[0];
|
||||||
final String repoName = parts[1];
|
final String repoName = parts[1];
|
||||||
|
final String loginUid = tinyDb.getString("loginUid");
|
||||||
|
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
|
||||||
|
|
||||||
String updateLabelName = labelName.getText().toString();
|
String updateLabelName = labelName.getText().toString();
|
||||||
|
|
||||||
String updateLabelColor;
|
String updateLabelColor;
|
||||||
if(tinyDB.getString("labelColor").isEmpty()) {
|
if(tinyDb.getString("labelColor").isEmpty()) {
|
||||||
|
|
||||||
updateLabelColor = tinyDB.getString("labelColorDefault");
|
updateLabelColor = tinyDb.getString("labelColorDefault");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
updateLabelColor = tinyDB.getString("labelColor");
|
updateLabelColor = tinyDb.getString("labelColor");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!connToInternet) {
|
if(!connToInternet) {
|
||||||
@ -160,8 +164,8 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
disableProcessButton();
|
disableProcessButton();
|
||||||
patchLabel(repoOwner, repoName, updateLabelName, updateLabelColor, Integer.parseInt(
|
patchLabel(instanceToken, repoOwner, repoName, updateLabelName, updateLabelColor, Integer.parseInt(
|
||||||
Objects.requireNonNull(getIntent().getStringExtra("labelId"))));
|
Objects.requireNonNull(getIntent().getStringExtra("labelId"))), loginUid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,22 +173,24 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
|
|
||||||
boolean connToInternet = AppUtil.hasNetworkConnection(appCtx);
|
boolean connToInternet = AppUtil.hasNetworkConnection(appCtx);
|
||||||
AppUtil appUtil = new AppUtil();
|
AppUtil appUtil = new AppUtil();
|
||||||
|
TinyDB tinyDb = TinyDB.getInstance(appCtx);
|
||||||
String repoFullName = tinyDB.getString("repoFullName");
|
String repoFullName = tinyDb.getString("repoFullName");
|
||||||
String[] parts = repoFullName.split("/");
|
String[] parts = repoFullName.split("/");
|
||||||
final String repoOwner = parts[0];
|
final String repoOwner = parts[0];
|
||||||
final String repoName = parts[1];
|
final String repoName = parts[1];
|
||||||
|
final String loginUid = tinyDb.getString("loginUid");
|
||||||
|
final String instanceToken = "token " + tinyDb.getString(loginUid + "-token");
|
||||||
|
|
||||||
String newLabelName = labelName.getText().toString();
|
String newLabelName = labelName.getText().toString();
|
||||||
String newLabelColor;
|
String newLabelColor;
|
||||||
|
|
||||||
if(tinyDB.getString("labelColor").isEmpty()) {
|
if(tinyDb.getString("labelColor").isEmpty()) {
|
||||||
|
|
||||||
newLabelColor = String.format("#%06X", (0xFFFFFF & ContextCompat.getColor(ctx, R.color.releasePre)));
|
newLabelColor = String.format("#%06X", (0xFFFFFF & ContextCompat.getColor(ctx, R.color.releasePre)));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
newLabelColor = tinyDB.getString("labelColor");
|
newLabelColor = tinyDb.getString("labelColor");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!connToInternet) {
|
if(!connToInternet) {
|
||||||
@ -206,23 +212,19 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
disableProcessButton();
|
disableProcessButton();
|
||||||
createNewLabel(repoOwner, repoName, newLabelName, newLabelColor);
|
createNewLabel(instanceToken, repoOwner, repoName, newLabelName, newLabelColor, loginUid);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createNewLabel(String repoOwner, String repoName, String newLabelName, String newLabelColor) {
|
private void createNewLabel(final String instanceToken, String repoOwner, String repoName, String newLabelName, String newLabelColor, String loginUid) {
|
||||||
|
|
||||||
CreateLabel createLabelFunc = new CreateLabel(newLabelName, newLabelColor);
|
CreateLabel createLabelFunc = new CreateLabel(newLabelName, newLabelColor);
|
||||||
|
final TinyDB tinyDb = TinyDB.getInstance(appCtx);
|
||||||
|
|
||||||
Call<CreateLabel> call;
|
Call<CreateLabel> call;
|
||||||
|
|
||||||
if(getIntent().getStringExtra("type") != null && Objects.requireNonNull(getIntent().getStringExtra("type")).equals("org")) {
|
call = RetrofitClient
|
||||||
|
.getApiInterface(ctx)
|
||||||
call = RetrofitClient.getApiInterface(ctx).createOrganizationLabel(Authorization.get(ctx), getIntent().getStringExtra("orgName"), createLabelFunc);
|
.createLabel(Authorization.get(ctx), repoOwner, repoName, createLabelFunc);
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
call = RetrofitClient.getApiInterface(ctx).createLabel(Authorization.get(ctx), repoOwner, repoName, createLabelFunc);
|
|
||||||
}
|
|
||||||
|
|
||||||
call.enqueue(new Callback<CreateLabel>() {
|
call.enqueue(new Callback<CreateLabel>() {
|
||||||
|
|
||||||
@ -232,8 +234,8 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
if(response.code() == 201) {
|
if(response.code() == 201) {
|
||||||
|
|
||||||
Toasty.success(ctx, getString(R.string.labelCreated));
|
Toasty.success(ctx, getString(R.string.labelCreated));
|
||||||
tinyDB.putString("labelColor", "");
|
tinyDb.putString("labelColor", "");
|
||||||
tinyDB.putBoolean("labelsRefresh", true);
|
tinyDb.putBoolean("labelsRefresh", true);
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
else if(response.code() == 401) {
|
else if(response.code() == 401) {
|
||||||
@ -247,7 +249,7 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
else {
|
else {
|
||||||
|
|
||||||
enableProcessButton();
|
enableProcessButton();
|
||||||
tinyDB.putString("labelColor", "");
|
tinyDb.putString("labelColor", "");
|
||||||
Toasty.error(ctx, getString(R.string.labelGeneralError));
|
Toasty.error(ctx, getString(R.string.labelGeneralError));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -255,7 +257,7 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(@NonNull Call<CreateLabel> call, @NonNull Throwable t) {
|
public void onFailure(@NonNull Call<CreateLabel> call, @NonNull Throwable t) {
|
||||||
|
|
||||||
tinyDB.putString("labelColor", "");
|
tinyDb.putString("labelColor", "");
|
||||||
Log.e("onFailure", t.toString());
|
Log.e("onFailure", t.toString());
|
||||||
enableProcessButton();
|
enableProcessButton();
|
||||||
}
|
}
|
||||||
@ -263,20 +265,16 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void patchLabel(String repoOwner, String repoName, String updateLabelName, String updateLabelColor, int labelId) {
|
private void patchLabel(final String instanceToken, String repoOwner, String repoName, String updateLabelName, String updateLabelColor, int labelId, String loginUid) {
|
||||||
|
|
||||||
CreateLabel createLabelFunc = new CreateLabel(updateLabelName, updateLabelColor);
|
CreateLabel createLabelFunc = new CreateLabel(updateLabelName, updateLabelColor);
|
||||||
|
final TinyDB tinyDb = TinyDB.getInstance(appCtx);
|
||||||
|
|
||||||
Call<CreateLabel> call;
|
Call<CreateLabel> call;
|
||||||
|
|
||||||
if(getIntent().getStringExtra("type") != null && Objects.requireNonNull(getIntent().getStringExtra("type")).equals("org")) {
|
call = RetrofitClient
|
||||||
|
.getApiInterface(appCtx)
|
||||||
call = RetrofitClient.getApiInterface(ctx).patchOrganizationLabel(Authorization.get(ctx), getIntent().getStringExtra("orgName"), labelId, createLabelFunc);
|
.patchLabel(Authorization.get(ctx), repoOwner, repoName, labelId, createLabelFunc);
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
call = RetrofitClient.getApiInterface(appCtx).patchLabel(Authorization.get(ctx), repoOwner, repoName, labelId, createLabelFunc);
|
|
||||||
}
|
|
||||||
|
|
||||||
call.enqueue(new Callback<CreateLabel>() {
|
call.enqueue(new Callback<CreateLabel>() {
|
||||||
|
|
||||||
@ -288,14 +286,13 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
if(response.code() == 200) {
|
if(response.code() == 200) {
|
||||||
|
|
||||||
Toasty.success(ctx, getString(R.string.labelUpdated));
|
Toasty.success(ctx, getString(R.string.labelUpdated));
|
||||||
tinyDB.putString("labelColor", "");
|
tinyDb.putString("labelColor", "");
|
||||||
tinyDB.putBoolean("labelsRefresh", true);
|
tinyDb.putBoolean("labelsRefresh", true);
|
||||||
tinyDB.putString("labelColorDefault", "");
|
tinyDb.putString("labelColorDefault", "");
|
||||||
getIntent().removeExtra("labelAction");
|
getIntent().removeExtra("labelAction");
|
||||||
getIntent().removeExtra("labelId");
|
getIntent().removeExtra("labelId");
|
||||||
getIntent().removeExtra("labelTitle");
|
getIntent().removeExtra("labelTitle");
|
||||||
getIntent().removeExtra("labelColor");
|
getIntent().removeExtra("labelColor");
|
||||||
getIntent().removeExtra("type");
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -310,8 +307,8 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
else {
|
else {
|
||||||
|
|
||||||
enableProcessButton();
|
enableProcessButton();
|
||||||
tinyDB.putString("labelColor", "");
|
tinyDb.putString("labelColor", "");
|
||||||
tinyDB.putString("labelColorDefault", "");
|
tinyDb.putString("labelColorDefault", "");
|
||||||
Toasty.error(ctx, getString(R.string.labelGeneralError));
|
Toasty.error(ctx, getString(R.string.labelGeneralError));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,8 +316,8 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(@NonNull Call<CreateLabel> call, @NonNull Throwable t) {
|
public void onFailure(@NonNull Call<CreateLabel> call, @NonNull Throwable t) {
|
||||||
|
|
||||||
tinyDB.putString("labelColor", "");
|
tinyDb.putString("labelColor", "");
|
||||||
tinyDB.putString("labelColorDefault", "");
|
tinyDb.putString("labelColorDefault", "");
|
||||||
Log.e("onFailure", t.toString());
|
Log.e("onFailure", t.toString());
|
||||||
enableProcessButton();
|
enableProcessButton();
|
||||||
}
|
}
|
||||||
@ -336,23 +333,17 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
getIntent().removeExtra("labelId");
|
getIntent().removeExtra("labelId");
|
||||||
getIntent().removeExtra("labelTitle");
|
getIntent().removeExtra("labelTitle");
|
||||||
getIntent().removeExtra("labelColor");
|
getIntent().removeExtra("labelColor");
|
||||||
getIntent().removeExtra("type");
|
|
||||||
finish();
|
finish();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteLabel(final String repoOwner, final String repoName, int labelId) {
|
private void deleteLabel(final String instanceToken, final String repoOwner, final String repoName, int labelId, String loginUid) {
|
||||||
|
|
||||||
Call<Labels> call;
|
Call<Labels> call;
|
||||||
|
|
||||||
if(getIntent().getStringExtra("type") != null && Objects.requireNonNull(getIntent().getStringExtra("type")).equals("org")) {
|
call = RetrofitClient
|
||||||
|
.getApiInterface(appCtx)
|
||||||
call = RetrofitClient.getApiInterface(appCtx).deleteOrganizationLabel(Authorization.get(ctx), getIntent().getStringExtra("orgName"), labelId);
|
.deleteLabel(Authorization.get(ctx), repoOwner, repoName, labelId);
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
call = RetrofitClient.getApiInterface(appCtx).deleteLabel(Authorization.get(ctx), repoOwner, repoName, labelId);
|
|
||||||
}
|
|
||||||
|
|
||||||
call.enqueue(new Callback<Labels>() {
|
call.enqueue(new Callback<Labels>() {
|
||||||
|
|
||||||
@ -364,17 +355,9 @@ public class CreateLabelActivity extends BaseActivity {
|
|||||||
if(response.code() == 204) {
|
if(response.code() == 204) {
|
||||||
|
|
||||||
Toasty.success(ctx, getString(R.string.labelDeleteText));
|
Toasty.success(ctx, getString(R.string.labelDeleteText));
|
||||||
if(getIntent().getStringExtra("type") != null && Objects.requireNonNull(getIntent().getStringExtra("type")).equals("org")) {
|
LabelsViewModel.loadLabelsList(instanceToken, repoOwner, repoName, ctx);
|
||||||
|
|
||||||
OrganizationLabelsViewModel.loadOrgLabelsList(Authorization.get(ctx), getIntent().getStringExtra("orgName"), ctx, null, null);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
LabelsViewModel.loadLabelsList(Authorization.get(ctx), repoOwner, repoName, ctx);
|
|
||||||
}
|
|
||||||
getIntent().removeExtra("labelAction");
|
getIntent().removeExtra("labelAction");
|
||||||
getIntent().removeExtra("labelId");
|
getIntent().removeExtra("labelId");
|
||||||
getIntent().removeExtra("type");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(response.code() == 401) {
|
else if(response.code() == 401) {
|
||||||
|
@ -735,17 +735,9 @@ public class IssueDetailActivity extends BaseActivity implements LabelsListAdapt
|
|||||||
bundle.putInt("issueId", singleIssue.getNumber());
|
bundle.putInt("issueId", singleIssue.getNumber());
|
||||||
|
|
||||||
ReactionList reactionList = new ReactionList(ctx, bundle);
|
ReactionList reactionList = new ReactionList(ctx, bundle);
|
||||||
|
|
||||||
viewBinding.commentReactionBadges.removeAllViews();
|
viewBinding.commentReactionBadges.removeAllViews();
|
||||||
viewBinding.commentReactionBadges.addView(reactionList);
|
viewBinding.commentReactionBadges.addView(reactionList);
|
||||||
|
|
||||||
reactionList.setOnReactionAddedListener(() -> {
|
|
||||||
|
|
||||||
if(viewBinding.commentReactionBadges.getVisibility() != View.VISIBLE) {
|
|
||||||
viewBinding.commentReactionBadges.post(() -> viewBinding.commentReactionBadges.setVisibility(View.VISIBLE));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if(singleIssue.getMilestone() != null) {
|
if(singleIssue.getMilestone() != null) {
|
||||||
|
|
||||||
viewBinding.issueMilestone.setVisibility(View.VISIBLE);
|
viewBinding.issueMilestone.setVisibility(View.VISIBLE);
|
||||||
|
@ -23,7 +23,6 @@ import org.mian.gitnex.R;
|
|||||||
import org.mian.gitnex.fragments.BottomSheetOrganizationFragment;
|
import org.mian.gitnex.fragments.BottomSheetOrganizationFragment;
|
||||||
import org.mian.gitnex.fragments.MembersByOrgFragment;
|
import org.mian.gitnex.fragments.MembersByOrgFragment;
|
||||||
import org.mian.gitnex.fragments.OrganizationInfoFragment;
|
import org.mian.gitnex.fragments.OrganizationInfoFragment;
|
||||||
import org.mian.gitnex.fragments.OrganizationLabelsFragment;
|
|
||||||
import org.mian.gitnex.fragments.RepositoriesByOrgFragment;
|
import org.mian.gitnex.fragments.RepositoriesByOrgFragment;
|
||||||
import org.mian.gitnex.fragments.TeamsByOrgFragment;
|
import org.mian.gitnex.fragments.TeamsByOrgFragment;
|
||||||
import org.mian.gitnex.helpers.Toasty;
|
import org.mian.gitnex.helpers.Toasty;
|
||||||
@ -146,13 +145,6 @@ public class OrganizationDetailActivity extends BaseActivity implements BottomSh
|
|||||||
tinyDB.putBoolean("organizationAction", true);
|
tinyDB.putBoolean("organizationAction", true);
|
||||||
startActivity(new Intent(OrganizationDetailActivity.this, CreateRepoActivity.class));
|
startActivity(new Intent(OrganizationDetailActivity.this, CreateRepoActivity.class));
|
||||||
break;
|
break;
|
||||||
case "label":
|
|
||||||
|
|
||||||
Intent intent = new Intent(ctx, CreateLabelActivity.class);
|
|
||||||
intent.putExtra("orgName", getIntent().getStringExtra("orgName"));
|
|
||||||
intent.putExtra("type", "org");
|
|
||||||
ctx.startActivity(intent);
|
|
||||||
break;
|
|
||||||
case "team":
|
case "team":
|
||||||
|
|
||||||
startActivity(new Intent(OrganizationDetailActivity.this, CreateTeamByOrgActivity.class));
|
startActivity(new Intent(OrganizationDetailActivity.this, CreateTeamByOrgActivity.class));
|
||||||
@ -199,14 +191,11 @@ public class OrganizationDetailActivity extends BaseActivity implements BottomSh
|
|||||||
return OrganizationInfoFragment.newInstance(orgName);
|
return OrganizationInfoFragment.newInstance(orgName);
|
||||||
case 1: // repos
|
case 1: // repos
|
||||||
|
|
||||||
return RepositoriesByOrgFragment.newInstance(orgName);
|
return RepositoriesByOrgFragment.newInstance(orgName);
|
||||||
case 2: // labels
|
case 2: // teams
|
||||||
|
|
||||||
return OrganizationLabelsFragment.newInstance(orgName);
|
|
||||||
case 3: // teams
|
|
||||||
|
|
||||||
return TeamsByOrgFragment.newInstance(orgName);
|
return TeamsByOrgFragment.newInstance(orgName);
|
||||||
case 4: // members
|
case 3: // members
|
||||||
|
|
||||||
return MembersByOrgFragment.newInstance(orgName);
|
return MembersByOrgFragment.newInstance(orgName);
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||||||
private static final String[] customFontList = {"Roboto", "Manrope", "Source Code Pro"};
|
private static final String[] customFontList = {"Roboto", "Manrope", "Source Code Pro"};
|
||||||
private static int customFontSelectedChoice = 0;
|
private static int customFontSelectedChoice = 0;
|
||||||
|
|
||||||
private static final String[] themeList = {"Dark", "Light", "Auto (Light / Dark)", "Retro", "Auto (Retro / Dark)", "Pitch Black"};
|
private static final String[] themeList = {"Dark", "Light", "Auto (Light / Dark)", "Retro", "Auto (Retro / Dark)"};
|
||||||
private static int themeSelectedChoice = 0;
|
private static int themeSelectedChoice = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -24,6 +24,7 @@ import org.mian.gitnex.clients.RetrofitClient;
|
|||||||
import org.mian.gitnex.fragments.BottomSheetReplyFragment;
|
import org.mian.gitnex.fragments.BottomSheetReplyFragment;
|
||||||
import org.mian.gitnex.helpers.AlertDialogs;
|
import org.mian.gitnex.helpers.AlertDialogs;
|
||||||
import org.mian.gitnex.helpers.AppUtil;
|
import org.mian.gitnex.helpers.AppUtil;
|
||||||
|
import org.mian.gitnex.helpers.ClickListener;
|
||||||
import org.mian.gitnex.helpers.Markdown;
|
import org.mian.gitnex.helpers.Markdown;
|
||||||
import org.mian.gitnex.helpers.RoundedTransformation;
|
import org.mian.gitnex.helpers.RoundedTransformation;
|
||||||
import org.mian.gitnex.helpers.TimeHelper;
|
import org.mian.gitnex.helpers.TimeHelper;
|
||||||
@ -330,8 +331,8 @@ public class IssueCommentsAdapter extends RecyclerView.Adapter<IssueCommentsAdap
|
|||||||
if(timeFormat.equals("pretty")) {
|
if(timeFormat.equals("pretty")) {
|
||||||
|
|
||||||
informationBuilder = new StringBuilder(TimeHelper.formatTime(issueComment.getCreated_at(), Locale.getDefault(), "pretty", ctx));
|
informationBuilder = new StringBuilder(TimeHelper.formatTime(issueComment.getCreated_at(), Locale.getDefault(), "pretty", ctx));
|
||||||
holder.information.setOnClickListener(v -> TimeHelper.customDateFormatForToastDateFormat(issueComment.getCreated_at()));
|
holder.information
|
||||||
|
.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(issueComment.getCreated_at()), ctx));
|
||||||
}
|
}
|
||||||
else if(timeFormat.equals("normal")) {
|
else if(timeFormat.equals("normal")) {
|
||||||
|
|
||||||
@ -354,14 +355,7 @@ public class IssueCommentsAdapter extends RecyclerView.Adapter<IssueCommentsAdap
|
|||||||
bundle1.putInt("commentId", issueComment.getId());
|
bundle1.putInt("commentId", issueComment.getId());
|
||||||
|
|
||||||
ReactionList reactionList = new ReactionList(ctx, bundle1);
|
ReactionList reactionList = new ReactionList(ctx, bundle1);
|
||||||
|
|
||||||
holder.commentReactionBadges.addView(reactionList);
|
holder.commentReactionBadges.addView(reactionList);
|
||||||
reactionList.setOnReactionAddedListener(() -> {
|
|
||||||
|
|
||||||
if(holder.commentReactionBadges.getVisibility() != View.VISIBLE) {
|
|
||||||
holder.commentReactionBadges.post(() -> holder.commentReactionBadges.setVisibility(View.VISIBLE));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,8 +32,6 @@ public class LabelsAdapter extends RecyclerView.Adapter<LabelsAdapter.LabelsView
|
|||||||
private List<Labels> labelsList;
|
private List<Labels> labelsList;
|
||||||
final private Context mCtx;
|
final private Context mCtx;
|
||||||
private ArrayList<Integer> labelsArray = new ArrayList<>();
|
private ArrayList<Integer> labelsArray = new ArrayList<>();
|
||||||
private static String type;
|
|
||||||
private static String orgName;
|
|
||||||
|
|
||||||
static class LabelsViewHolder extends RecyclerView.ViewHolder {
|
static class LabelsViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
@ -79,8 +77,6 @@ public class LabelsAdapter extends RecyclerView.Adapter<LabelsAdapter.LabelsView
|
|||||||
intent.putExtra("labelTitle", labelTitle.getText());
|
intent.putExtra("labelTitle", labelTitle.getText());
|
||||||
intent.putExtra("labelColor", labelColor.getText());
|
intent.putExtra("labelColor", labelColor.getText());
|
||||||
intent.putExtra("labelAction", "edit");
|
intent.putExtra("labelAction", "edit");
|
||||||
intent.putExtra("type", type);
|
|
||||||
intent.putExtra("orgName", orgName);
|
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
|
|
||||||
@ -91,9 +87,8 @@ public class LabelsAdapter extends RecyclerView.Adapter<LabelsAdapter.LabelsView
|
|||||||
AlertDialogs.labelDeleteDialog(context, labelTitle.getText().toString(), labelId.getText().toString(),
|
AlertDialogs.labelDeleteDialog(context, labelTitle.getText().toString(), labelId.getText().toString(),
|
||||||
context.getResources().getString(R.string.labelDeleteTitle),
|
context.getResources().getString(R.string.labelDeleteTitle),
|
||||||
context.getResources().getString(R.string.labelDeleteMessage),
|
context.getResources().getString(R.string.labelDeleteMessage),
|
||||||
context.getResources().getString(R.string.labelDeleteTitle),
|
context.getResources().getString(R.string.labelDeletePositiveButton),
|
||||||
context.getResources().getString(R.string.labelDeleteNegativeButton),
|
context.getResources().getString(R.string.labelDeleteNegativeButton));
|
||||||
type, orgName);
|
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -103,12 +98,9 @@ public class LabelsAdapter extends RecyclerView.Adapter<LabelsAdapter.LabelsView
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public LabelsAdapter(Context mCtx, List<Labels> labelsMain, String type, String orgName) {
|
public LabelsAdapter(Context mCtx, List<Labels> labelsMain) {
|
||||||
|
|
||||||
this.mCtx = mCtx;
|
this.mCtx = mCtx;
|
||||||
this.labelsList = labelsMain;
|
this.labelsList = labelsMain;
|
||||||
LabelsAdapter.type = type;
|
|
||||||
LabelsAdapter.orgName = orgName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
@ -45,23 +45,27 @@ public class OrganizationsListAdapter extends RecyclerView.Adapter<Organizations
|
|||||||
image = itemView.findViewById(R.id.imageAvatar);
|
image = itemView.findViewById(R.id.imageAvatar);
|
||||||
organizationId = itemView.findViewById(R.id.organizationId);
|
organizationId = itemView.findViewById(R.id.organizationId);
|
||||||
|
|
||||||
itemView.setOnClickListener(v -> {
|
itemView.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
|
||||||
Context context = v.getContext();
|
Context context = v.getContext();
|
||||||
Intent intent = new Intent(context, OrganizationDetailActivity.class);
|
Intent intent = new Intent(context, OrganizationDetailActivity.class);
|
||||||
intent.putExtra("orgName", mTextView1.getText().toString());
|
intent.putExtra("orgName", mTextView1.getText().toString());
|
||||||
|
|
||||||
TinyDB tinyDb = TinyDB.getInstance(context);
|
TinyDB tinyDb = TinyDB.getInstance(context);
|
||||||
tinyDb.putString("orgName", mTextView1.getText().toString());
|
tinyDb.putString("orgName", mTextView1.getText().toString());
|
||||||
tinyDb.putString("organizationId", organizationId.getText().toString());
|
tinyDb.putString("organizationId", organizationId.getText().toString());
|
||||||
tinyDb.putBoolean("organizationAction", true);
|
tinyDb.putBoolean("organizationAction", true);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
|
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public OrganizationsListAdapter(Context mCtx, List<UserOrganizations> orgsListMain) {
|
public OrganizationsListAdapter(Context mCtx, List<UserOrganizations> orgsListMain) {
|
||||||
|
|
||||||
this.mCtx = mCtx;
|
this.mCtx = mCtx;
|
||||||
this.orgList = orgsListMain;
|
this.orgList = orgsListMain;
|
||||||
orgListFull = new ArrayList<>(orgList);
|
orgListFull = new ArrayList<>(orgList);
|
||||||
@ -70,7 +74,6 @@ public class OrganizationsListAdapter extends RecyclerView.Adapter<Organizations
|
|||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public OrganizationsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
public OrganizationsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
|
|
||||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_organizations, parent, false);
|
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_organizations, parent, false);
|
||||||
return new OrganizationsViewHolder(v);
|
return new OrganizationsViewHolder(v);
|
||||||
}
|
}
|
||||||
@ -85,12 +88,11 @@ public class OrganizationsListAdapter extends RecyclerView.Adapter<Organizations
|
|||||||
|
|
||||||
PicassoService.getInstance(mCtx).get().load(currentItem.getAvatar_url()).placeholder(R.drawable.loader_animated).transform(new RoundedTransformation(8, 0)).resize(120, 120).centerCrop().into(holder.image);
|
PicassoService.getInstance(mCtx).get().load(currentItem.getAvatar_url()).placeholder(R.drawable.loader_animated).transform(new RoundedTransformation(8, 0)).resize(120, 120).centerCrop().into(holder.image);
|
||||||
holder.mTextView1.setText(currentItem.getUsername());
|
holder.mTextView1.setText(currentItem.getUsername());
|
||||||
|
|
||||||
if (!currentItem.getDescription().equals("")) {
|
if (!currentItem.getDescription().equals("")) {
|
||||||
|
|
||||||
holder.mTextView2.setVisibility(View.VISIBLE);
|
holder.mTextView2.setVisibility(View.VISIBLE);
|
||||||
holder.mTextView2.setText(currentItem.getDescription());
|
holder.mTextView2.setText(currentItem.getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -103,19 +105,14 @@ public class OrganizationsListAdapter extends RecyclerView.Adapter<Organizations
|
|||||||
return orgFilter;
|
return orgFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Filter orgFilter = new Filter() {
|
private Filter orgFilter = new Filter() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FilterResults performFiltering(CharSequence constraint) {
|
protected FilterResults performFiltering(CharSequence constraint) {
|
||||||
|
|
||||||
List<UserOrganizations> filteredList = new ArrayList<>();
|
List<UserOrganizations> filteredList = new ArrayList<>();
|
||||||
|
|
||||||
if (constraint == null || constraint.length() == 0) {
|
if (constraint == null || constraint.length() == 0) {
|
||||||
|
|
||||||
filteredList.addAll(orgListFull);
|
filteredList.addAll(orgListFull);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
String filterPattern = constraint.toString().toLowerCase().trim();
|
String filterPattern = constraint.toString().toLowerCase().trim();
|
||||||
|
|
||||||
for (UserOrganizations item : orgListFull) {
|
for (UserOrganizations item : orgListFull) {
|
||||||
@ -133,7 +130,6 @@ public class OrganizationsListAdapter extends RecyclerView.Adapter<Organizations
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void publishResults(CharSequence constraint, FilterResults results) {
|
protected void publishResults(CharSequence constraint, FilterResults results) {
|
||||||
|
|
||||||
orgList.clear();
|
orgList.clear();
|
||||||
orgList.addAll((List) results.values);
|
orgList.addAll((List) results.values);
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
|
@ -2,7 +2,6 @@ package org.mian.gitnex.clients;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import org.mian.gitnex.helpers.AppUtil;
|
|
||||||
import org.mian.gitnex.helpers.FilesData;
|
import org.mian.gitnex.helpers.FilesData;
|
||||||
import org.mian.gitnex.helpers.TinyDB;
|
import org.mian.gitnex.helpers.TinyDB;
|
||||||
import org.mian.gitnex.helpers.ssl.MemorizingTrustManager;
|
import org.mian.gitnex.helpers.ssl.MemorizingTrustManager;
|
||||||
@ -36,8 +35,6 @@ public class RetrofitClient {
|
|||||||
|
|
||||||
TinyDB tinyDB = TinyDB.getInstance(context);
|
TinyDB tinyDB = TinyDB.getInstance(context);
|
||||||
|
|
||||||
final boolean connToInternet = AppUtil.hasNetworkConnection(context);
|
|
||||||
|
|
||||||
int cacheSize = FilesData.returnOnlyNumber(tinyDB.getString("cacheSizeStr")) * 1024 * 1024;
|
int cacheSize = FilesData.returnOnlyNumber(tinyDB.getString("cacheSizeStr")) * 1024 * 1024;
|
||||||
Cache cache = new Cache(new File(context.getCacheDir(), "responses"), cacheSize);
|
Cache cache = new Cache(new File(context.getCacheDir(), "responses"), cacheSize);
|
||||||
|
|
||||||
@ -57,16 +54,13 @@ public class RetrofitClient {
|
|||||||
.hostnameVerifier(memorizingTrustManager.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier()))
|
.hostnameVerifier(memorizingTrustManager.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier()))
|
||||||
.addInterceptor(chain -> {
|
.addInterceptor(chain -> {
|
||||||
|
|
||||||
Request request = chain.request();
|
Request request = chain.request()
|
||||||
if(connToInternet) {
|
.newBuilder()
|
||||||
|
.header("Cache-Control", "public, max-age=" + 60)
|
||||||
|
.build();
|
||||||
|
|
||||||
request = request.newBuilder().header("Cache-Control", "public, max-age=" + 60).build();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
request = request.newBuilder().header("Cache-Control", "public, only-if-cached, max-stale=" + 60 * 60 * 24 * 30).build();
|
|
||||||
}
|
|
||||||
return chain.proceed(request);
|
return chain.proceed(request);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return new Retrofit.Builder()
|
return new Retrofit.Builder()
|
||||||
@ -76,10 +70,9 @@ public class RetrofitClient {
|
|||||||
.addConverterFactory(GsonConverterFactory.create())
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
}
|
} catch(Exception e) {
|
||||||
catch(Exception e) {
|
|
||||||
|
|
||||||
Log.e("onFailureRetrofit", e.toString());
|
Log.e("onFailure", e.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -100,21 +93,29 @@ public class RetrofitClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static synchronized ApiInterface getApiInterface(Context context, String url) {
|
public static synchronized ApiInterface getApiInterface(Context context, String url) {
|
||||||
|
if(!apiInterfaces.containsKey(url)) {
|
||||||
|
|
||||||
ApiInterface apiInterface = createRetrofit(context, url)
|
ApiInterface apiInterface = createRetrofit(context, url)
|
||||||
.create(ApiInterface.class);
|
.create(ApiInterface.class);
|
||||||
|
|
||||||
apiInterfaces.put(url, apiInterface);
|
apiInterfaces.put(url, apiInterface);
|
||||||
|
return apiInterface;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return apiInterfaces.get(url);
|
return apiInterfaces.get(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static synchronized WebInterface getWebInterface(Context context, String url) {
|
public static synchronized WebInterface getWebInterface(Context context, String url) {
|
||||||
|
if(!webInterfaces.containsKey(url)) {
|
||||||
|
|
||||||
WebInterface webInterface = createRetrofit(context, url)
|
WebInterface webInterface = createRetrofit(context, url)
|
||||||
.create(WebInterface.class);
|
.create(WebInterface.class);
|
||||||
|
|
||||||
webInterfaces.put(url, webInterface);
|
webInterfaces.put(url, webInterface);
|
||||||
|
return webInterface;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return webInterfaces.get(url);
|
return webInterfaces.get(url);
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ public class BottomSheetOrganizationFragment extends BottomSheetDialogFragment {
|
|||||||
TextView createTeam = v.findViewById(R.id.createTeam);
|
TextView createTeam = v.findViewById(R.id.createTeam);
|
||||||
TextView createRepository = v.findViewById(R.id.createRepository);
|
TextView createRepository = v.findViewById(R.id.createRepository);
|
||||||
TextView copyOrgUrl = v.findViewById(R.id.copyOrgUrl);
|
TextView copyOrgUrl = v.findViewById(R.id.copyOrgUrl);
|
||||||
TextView createLabel = v.findViewById(R.id.createLabel);
|
|
||||||
|
|
||||||
createTeam.setOnClickListener(v1 -> {
|
createTeam.setOnClickListener(v1 -> {
|
||||||
|
|
||||||
@ -36,12 +35,6 @@ public class BottomSheetOrganizationFragment extends BottomSheetDialogFragment {
|
|||||||
dismiss();
|
dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
createLabel.setOnClickListener(v1 -> {
|
|
||||||
|
|
||||||
bmListener.onButtonClicked("label");
|
|
||||||
dismiss();
|
|
||||||
});
|
|
||||||
|
|
||||||
createRepository.setOnClickListener(v12 -> {
|
createRepository.setOnClickListener(v12 -> {
|
||||||
|
|
||||||
bmListener.onButtonClicked("repository");
|
bmListener.onButtonClicked("repository");
|
||||||
|
@ -17,7 +17,6 @@ import android.widget.TextView;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||||
@ -106,9 +105,7 @@ public class IssuesFragment extends Fragment {
|
|||||||
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL);
|
|
||||||
recyclerView.setHasFixedSize(true);
|
recyclerView.setHasFixedSize(true);
|
||||||
recyclerView.addItemDecoration(dividerItemDecoration);
|
|
||||||
recyclerView.setLayoutManager(new LinearLayoutManager(context));
|
recyclerView.setLayoutManager(new LinearLayoutManager(context));
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
|
|
||||||
|
@ -10,7 +10,9 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.lifecycle.Observer;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
@ -20,7 +22,9 @@ import org.mian.gitnex.R;
|
|||||||
import org.mian.gitnex.adapters.LabelsAdapter;
|
import org.mian.gitnex.adapters.LabelsAdapter;
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
import org.mian.gitnex.helpers.Authorization;
|
||||||
import org.mian.gitnex.helpers.TinyDB;
|
import org.mian.gitnex.helpers.TinyDB;
|
||||||
|
import org.mian.gitnex.models.Labels;
|
||||||
import org.mian.gitnex.viewmodels.LabelsViewModel;
|
import org.mian.gitnex.viewmodels.LabelsViewModel;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Author M M Arif
|
* Author M M Arif
|
||||||
@ -34,7 +38,6 @@ public class LabelsFragment extends Fragment {
|
|||||||
private TextView noData;
|
private TextView noData;
|
||||||
private static String repoNameF = "param2";
|
private static String repoNameF = "param2";
|
||||||
private static String repoOwnerF = "param1";
|
private static String repoOwnerF = "param1";
|
||||||
private final String type = "repo";
|
|
||||||
|
|
||||||
private String repoName;
|
private String repoName;
|
||||||
private String repoOwner;
|
private String repoOwner;
|
||||||
@ -45,7 +48,6 @@ public class LabelsFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static LabelsFragment newInstance(String param1, String param2) {
|
public static LabelsFragment newInstance(String param1, String param2) {
|
||||||
|
|
||||||
LabelsFragment fragment = new LabelsFragment();
|
LabelsFragment fragment = new LabelsFragment();
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
args.putString(repoOwnerF, param1);
|
args.putString(repoOwnerF, param1);
|
||||||
@ -56,11 +58,8 @@ public class LabelsFragment extends Fragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
if (getArguments() != null) {
|
if (getArguments() != null) {
|
||||||
|
|
||||||
repoName = getArguments().getString(repoNameF);
|
repoName = getArguments().getString(repoNameF);
|
||||||
repoOwner = getArguments().getString(repoOwnerF);
|
repoOwner = getArguments().getString(repoOwnerF);
|
||||||
}
|
}
|
||||||
@ -89,16 +88,17 @@ public class LabelsFragment extends Fragment {
|
|||||||
|
|
||||||
swipeRefresh.setRefreshing(false);
|
swipeRefresh.setRefreshing(false);
|
||||||
LabelsViewModel.loadLabelsList(Authorization.get(getContext()), repoOwner, repoName, getContext());
|
LabelsViewModel.loadLabelsList(Authorization.get(getContext()), repoOwner, repoName, getContext());
|
||||||
|
|
||||||
}, 200));
|
}, 200));
|
||||||
|
|
||||||
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName);
|
fetchDataAsync(Authorization.get(getContext()), repoOwner, repoName);
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
final TinyDB tinyDb = TinyDB.getInstance(getContext());
|
final TinyDB tinyDb = TinyDB.getInstance(getContext());
|
||||||
|
|
||||||
@ -108,29 +108,24 @@ public class LabelsFragment extends Fragment {
|
|||||||
final String repoName = parts[1];
|
final String repoName = parts[1];
|
||||||
|
|
||||||
if(tinyDb.getBoolean("labelsRefresh")) {
|
if(tinyDb.getBoolean("labelsRefresh")) {
|
||||||
|
|
||||||
LabelsViewModel.loadLabelsList(Authorization.get(getContext()), repoOwner, repoName, getContext());
|
LabelsViewModel.loadLabelsList(Authorization.get(getContext()), repoOwner, repoName, getContext());
|
||||||
tinyDb.putBoolean("labelsRefresh", false);
|
tinyDb.putBoolean("labelsRefresh", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onButtonPressed(Uri uri) {
|
public void onButtonPressed(Uri uri) {
|
||||||
|
|
||||||
if (mListener != null) {
|
if (mListener != null) {
|
||||||
|
|
||||||
mListener.onFragmentInteraction(uri);
|
mListener.onFragmentInteraction(uri);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDetach() {
|
public void onDetach() {
|
||||||
|
|
||||||
super.onDetach();
|
super.onDetach();
|
||||||
mListener = null;
|
mListener = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface OnFragmentInteractionListener {
|
public interface OnFragmentInteractionListener {
|
||||||
|
|
||||||
void onFragmentInteraction(Uri uri);
|
void onFragmentInteraction(Uri uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,23 +133,21 @@ public class LabelsFragment extends Fragment {
|
|||||||
|
|
||||||
LabelsViewModel labelsModel = new ViewModelProvider(this).get(LabelsViewModel.class);
|
LabelsViewModel labelsModel = new ViewModelProvider(this).get(LabelsViewModel.class);
|
||||||
|
|
||||||
labelsModel.getLabelsList(instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), labelsListMain -> {
|
labelsModel.getLabelsList(instanceToken, owner, repo, getContext()).observe(getViewLifecycleOwner(), new Observer<List<Labels>>() {
|
||||||
|
@Override
|
||||||
adapter = new LabelsAdapter(getContext(), labelsListMain, type, owner);
|
public void onChanged(@Nullable List<Labels> labelsListMain) {
|
||||||
|
adapter = new LabelsAdapter(getContext(), labelsListMain);
|
||||||
if(adapter.getItemCount() > 0) {
|
if(adapter.getItemCount() > 0) {
|
||||||
|
mRecyclerView.setAdapter(adapter);
|
||||||
mRecyclerView.setAdapter(adapter);
|
noData.setVisibility(View.GONE);
|
||||||
noData.setVisibility(View.GONE);
|
}
|
||||||
|
else {
|
||||||
|
adapter.notifyDataSetChanged();
|
||||||
|
mRecyclerView.setAdapter(adapter);
|
||||||
|
noData.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
mProgressBar.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
|
|
||||||
adapter.notifyDataSetChanged();
|
|
||||||
mRecyclerView.setAdapter(adapter);
|
|
||||||
noData.setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
|
|
||||||
mProgressBar.setVisibility(View.GONE);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,6 @@ import android.view.ViewGroup;
|
|||||||
import android.view.inputmethod.EditorInfo;
|
import android.view.inputmethod.EditorInfo;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.RepoDetailActivity;
|
import org.mian.gitnex.activities.RepoDetailActivity;
|
||||||
@ -89,8 +88,6 @@ public class MilestonesFragment extends Fragment {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(viewBinding.recyclerView.getContext(), DividerItemDecoration.VERTICAL);
|
|
||||||
viewBinding.recyclerView.addItemDecoration(dividerItemDecoration);
|
|
||||||
viewBinding.recyclerView.setHasFixedSize(true);
|
viewBinding.recyclerView.setHasFixedSize(true);
|
||||||
viewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(ctx));
|
viewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(ctx));
|
||||||
viewBinding.recyclerView.setAdapter(adapter);
|
viewBinding.recyclerView.setAdapter(adapter);
|
||||||
|
@ -1,151 +0,0 @@
|
|||||||
package org.mian.gitnex.fragments;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.Looper;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.ProgressBar;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
|
||||||
import org.mian.gitnex.R;
|
|
||||||
import org.mian.gitnex.adapters.LabelsAdapter;
|
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
|
||||||
import org.mian.gitnex.helpers.TinyDB;
|
|
||||||
import org.mian.gitnex.viewmodels.OrganizationLabelsViewModel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author M M Arif
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class OrganizationLabelsFragment extends Fragment {
|
|
||||||
|
|
||||||
private ProgressBar mProgressBar;
|
|
||||||
private RecyclerView mRecyclerView;
|
|
||||||
private LabelsAdapter adapter;
|
|
||||||
private TextView noData;
|
|
||||||
private static final String repoOwnerF = "param1";
|
|
||||||
private final String type = "org";
|
|
||||||
|
|
||||||
private String repoOwner;
|
|
||||||
|
|
||||||
private OnFragmentInteractionListener mListener;
|
|
||||||
|
|
||||||
public static OrganizationLabelsFragment newInstance(String param1) {
|
|
||||||
|
|
||||||
OrganizationLabelsFragment fragment = new OrganizationLabelsFragment();
|
|
||||||
Bundle args = new Bundle();
|
|
||||||
args.putString(repoOwnerF, param1);
|
|
||||||
fragment.setArguments(args);
|
|
||||||
return fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
if (getArguments() != null) {
|
|
||||||
|
|
||||||
repoOwner = getArguments().getString(repoOwnerF);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
final View v = inflater.inflate(R.layout.fragment_labels, container, false);
|
|
||||||
setHasOptionsMenu(true);
|
|
||||||
|
|
||||||
final SwipeRefreshLayout swipeRefresh = v.findViewById(R.id.pullToRefresh);
|
|
||||||
noData = v.findViewById(R.id.noData);
|
|
||||||
|
|
||||||
mRecyclerView = v.findViewById(R.id.recyclerView);
|
|
||||||
mRecyclerView.setHasFixedSize(true);
|
|
||||||
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
|
||||||
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mRecyclerView.getContext(),
|
|
||||||
DividerItemDecoration.VERTICAL);
|
|
||||||
mRecyclerView.addItemDecoration(dividerItemDecoration);
|
|
||||||
|
|
||||||
mProgressBar = v.findViewById(R.id.progress_bar);
|
|
||||||
|
|
||||||
swipeRefresh.setOnRefreshListener(() -> new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
|
||||||
|
|
||||||
swipeRefresh.setRefreshing(false);
|
|
||||||
OrganizationLabelsViewModel.loadOrgLabelsList(Authorization.get(getContext()), repoOwner, getContext(), mProgressBar, noData);
|
|
||||||
|
|
||||||
}, 200));
|
|
||||||
|
|
||||||
fetchDataAsync(Authorization.get(getContext()), repoOwner);
|
|
||||||
|
|
||||||
return v;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResume() {
|
|
||||||
|
|
||||||
super.onResume();
|
|
||||||
final TinyDB tinyDb = TinyDB.getInstance(getContext());
|
|
||||||
|
|
||||||
if(tinyDb.getBoolean("labelsRefresh")) {
|
|
||||||
|
|
||||||
OrganizationLabelsViewModel.loadOrgLabelsList(Authorization.get(getContext()), repoOwner, getContext(), mProgressBar, noData);
|
|
||||||
tinyDb.putBoolean("labelsRefresh", false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onButtonPressed(Uri uri) {
|
|
||||||
|
|
||||||
if (mListener != null) {
|
|
||||||
|
|
||||||
mListener.onFragmentInteraction(uri);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDetach() {
|
|
||||||
|
|
||||||
super.onDetach();
|
|
||||||
mListener = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface OnFragmentInteractionListener {
|
|
||||||
|
|
||||||
void onFragmentInteraction(Uri uri);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fetchDataAsync(String instanceToken, String owner) {
|
|
||||||
|
|
||||||
OrganizationLabelsViewModel organizationLabelsViewModel = new ViewModelProvider(this).get(OrganizationLabelsViewModel.class);
|
|
||||||
|
|
||||||
organizationLabelsViewModel.getOrgLabelsList(instanceToken, owner, getContext(), mProgressBar, noData).observe(getViewLifecycleOwner(), labelsListMain -> {
|
|
||||||
|
|
||||||
adapter = new LabelsAdapter(getContext(), labelsListMain, type, owner);
|
|
||||||
|
|
||||||
if(adapter.getItemCount() > 0) {
|
|
||||||
|
|
||||||
mRecyclerView.setAdapter(adapter);
|
|
||||||
noData.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
adapter.notifyDataSetChanged();
|
|
||||||
mRecyclerView.setAdapter(adapter);
|
|
||||||
noData.setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
|
|
||||||
mProgressBar.setVisibility(View.GONE);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -10,7 +10,6 @@ import android.view.inputmethod.EditorInfo;
|
|||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import org.mian.gitnex.adapters.SearchIssuesAdapter;
|
import org.mian.gitnex.adapters.SearchIssuesAdapter;
|
||||||
import org.mian.gitnex.clients.RetrofitClient;
|
import org.mian.gitnex.clients.RetrofitClient;
|
||||||
@ -58,8 +57,6 @@ public class SearchIssuesFragment extends Fragment {
|
|||||||
|
|
||||||
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(ctx);
|
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(ctx);
|
||||||
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(viewBinding.recyclerViewSearchIssues.getContext(), DividerItemDecoration.VERTICAL);
|
|
||||||
viewBinding.recyclerViewSearchIssues.addItemDecoration(dividerItemDecoration);
|
|
||||||
viewBinding.recyclerViewSearchIssues.setHasFixedSize(true);
|
viewBinding.recyclerViewSearchIssues.setHasFixedSize(true);
|
||||||
viewBinding.recyclerViewSearchIssues.setLayoutManager(linearLayoutManager);
|
viewBinding.recyclerViewSearchIssues.setLayoutManager(linearLayoutManager);
|
||||||
viewBinding.recyclerViewSearchIssues.setAdapter(adapter);
|
viewBinding.recyclerViewSearchIssues.setAdapter(adapter);
|
||||||
|
@ -62,7 +62,7 @@ public class AlertDialogs {
|
|||||||
alertDialogBuilder.create().show();
|
alertDialogBuilder.create().show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void labelDeleteDialog(final Context context, final String labelTitle, final String labelId, String title, String message, String positiveButton, String negativeButton, String type, String orgName) {
|
public static void labelDeleteDialog(final Context context, final String labelTitle, final String labelId, String title, String message, String positiveButton, String negativeButton) {
|
||||||
|
|
||||||
new AlertDialog.Builder(context)
|
new AlertDialog.Builder(context)
|
||||||
.setTitle(title + labelTitle)
|
.setTitle(title + labelTitle)
|
||||||
@ -73,8 +73,6 @@ public class AlertDialogs {
|
|||||||
Intent intent = new Intent(context, CreateLabelActivity.class);
|
Intent intent = new Intent(context, CreateLabelActivity.class);
|
||||||
intent.putExtra("labelId", labelId);
|
intent.putExtra("labelId", labelId);
|
||||||
intent.putExtra("labelAction", "delete");
|
intent.putExtra("labelAction", "delete");
|
||||||
intent.putExtra("type", type);
|
|
||||||
intent.putExtra("orgName", orgName);
|
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -229,15 +229,6 @@ public interface ApiInterface {
|
|||||||
@GET("orgs/{owner}/labels") // get org labels list
|
@GET("orgs/{owner}/labels") // get org labels list
|
||||||
Call<List<Labels>> getOrganizationLabels(@Header("Authorization") String token, @Path("owner") String ownerName);
|
Call<List<Labels>> getOrganizationLabels(@Header("Authorization") String token, @Path("owner") String ownerName);
|
||||||
|
|
||||||
@POST("orgs/{owner}/labels") // create org label
|
|
||||||
Call<CreateLabel> createOrganizationLabel(@Header("Authorization") String token, @Path("owner") String ownerName, @Body CreateLabel jsonStr);
|
|
||||||
|
|
||||||
@PATCH("orgs/{owner}/labels/{id}") // update / patch org label
|
|
||||||
Call<CreateLabel> patchOrganizationLabel(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("id") int labelID, @Body CreateLabel jsonStr);
|
|
||||||
|
|
||||||
@DELETE("orgs/{owner}/labels/{id}") // delete org label
|
|
||||||
Call<Labels> deleteOrganizationLabel(@Header("Authorization") String token, @Path("owner") String ownerName, @Path("id") int labelID);
|
|
||||||
|
|
||||||
@GET("users/{username}/repos") // get current logged in user repositories
|
@GET("users/{username}/repos") // get current logged in user repositories
|
||||||
Call<List<UserRepositories>> getCurrentUserRepositories(@Header("Authorization") String token, @Path("username") String username, @Query("page") int page, @Query("limit") int limit);
|
Call<List<UserRepositories>> getCurrentUserRepositories(@Header("Authorization") String token, @Path("username") String username, @Query("page") int page, @Query("limit") int limit);
|
||||||
|
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
package org.mian.gitnex.viewmodels;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.ProgressBar;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.lifecycle.LiveData;
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
|
||||||
import androidx.lifecycle.ViewModel;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.mian.gitnex.clients.RetrofitClient;
|
|
||||||
import org.mian.gitnex.models.Labels;
|
|
||||||
import java.util.List;
|
|
||||||
import retrofit2.Call;
|
|
||||||
import retrofit2.Callback;
|
|
||||||
import retrofit2.Response;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author M M Arif
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class OrganizationLabelsViewModel extends ViewModel {
|
|
||||||
|
|
||||||
private static MutableLiveData<List<Labels>> orgLabelsList;
|
|
||||||
|
|
||||||
public LiveData<List<Labels>> getOrgLabelsList(String token, String owner, Context ctx, ProgressBar progressBar, TextView noData) {
|
|
||||||
|
|
||||||
orgLabelsList = new MutableLiveData<>();
|
|
||||||
loadOrgLabelsList(token, owner, ctx, progressBar = null, noData = null);
|
|
||||||
|
|
||||||
return orgLabelsList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void loadOrgLabelsList(String token, String owner, Context ctx, ProgressBar progressBar, TextView noData) {
|
|
||||||
|
|
||||||
Call<List<Labels>> call = RetrofitClient
|
|
||||||
.getApiInterface(ctx)
|
|
||||||
.getOrganizationLabels(token, owner);
|
|
||||||
|
|
||||||
call.enqueue(new Callback<List<Labels>>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResponse(@NonNull Call<List<Labels>> call, @NonNull Response<List<Labels>> response) {
|
|
||||||
|
|
||||||
if(response.isSuccessful()) {
|
|
||||||
|
|
||||||
orgLabelsList.postValue(response.body());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
progressBar.setVisibility(View.GONE);
|
|
||||||
noData.setVisibility(View.VISIBLE);
|
|
||||||
Log.i("onResponse-org-labels", String.valueOf(response.code()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(@NonNull Call<List<Labels>> call, @NotNull Throwable t) {
|
|
||||||
Log.i("onFailure", t.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -33,7 +33,6 @@ import retrofit2.Response;
|
|||||||
public class ReactionList extends HorizontalScrollView {
|
public class ReactionList extends HorizontalScrollView {
|
||||||
|
|
||||||
private enum ReactionType { COMMENT, ISSUE }
|
private enum ReactionType { COMMENT, ISSUE }
|
||||||
private OnReactionAddedListener onReactionAddedListener;
|
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
public ReactionList(Context context, Bundle bundle) {
|
public ReactionList(Context context, Bundle bundle) {
|
||||||
@ -128,9 +127,7 @@ public class ReactionList extends HorizontalScrollView {
|
|||||||
Emoji emoji = EmojiManager.getForAlias(content);
|
Emoji emoji = EmojiManager.getForAlias(content);
|
||||||
|
|
||||||
((TextView) reactionBadge.findViewById(R.id.symbol)).setText(((emoji == null) ? content : emoji.getUnicode()) + " " + issueReactions.size());
|
((TextView) reactionBadge.findViewById(R.id.symbol)).setText(((emoji == null) ? content : emoji.getUnicode()) + " " + issueReactions.size());
|
||||||
|
|
||||||
root.post(() -> root.addView(reactionBadge));
|
root.post(() -> root.addView(reactionBadge));
|
||||||
onReactionAddedListener.reactionAdded();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,10 +137,4 @@ public class ReactionList extends HorizontalScrollView {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOnReactionAddedListener(OnReactionAddedListener onReactionAddedListener) {
|
|
||||||
this.onReactionAddedListener = onReactionAddedListener;
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface OnReactionAddedListener { void reactionAdded(); }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -105,7 +104,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -74,7 +74,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -77,7 +77,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -105,7 +104,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -74,7 +74,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -100,7 +99,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -128,7 +126,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -74,7 +74,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -74,7 +74,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -102,7 +101,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -230,7 +230,6 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/issueTimeFrame"
|
android:layout_below="@+id/issueTimeFrame"
|
||||||
android:visibility="gone"
|
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:orientation="horizontal" />
|
android:orientation="horizontal" />
|
||||||
|
|
||||||
|
@ -88,7 +88,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -115,7 +114,6 @@
|
|||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -77,7 +77,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -105,7 +104,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -189,7 +187,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -74,7 +74,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -105,7 +104,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -74,7 +74,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -105,7 +104,6 @@
|
|||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -98,7 +98,6 @@
|
|||||||
android:textColor="?attr/inputTextColor"
|
android:textColor="?attr/inputTextColor"
|
||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -128,7 +127,6 @@
|
|||||||
android:textColorHighlight="?attr/hintColor"
|
android:textColorHighlight="?attr/hintColor"
|
||||||
android:textColorHint="?attr/hintColor"
|
android:textColorHint="?attr/hintColor"
|
||||||
android:gravity="top|start"
|
android:gravity="top|start"
|
||||||
android:inputType="textCapSentences"
|
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
@ -56,12 +56,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/orgTabRepos" />
|
android:text="@string/orgTabRepos" />
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabItem
|
|
||||||
android:id="@+id/tabItem_labels"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/tab_text_labels" />
|
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabItem
|
<com.google.android.material.tabs.TabItem
|
||||||
android:id="@+id/tabItem_teams"
|
android:id="@+id/tabItem_teams"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -57,11 +57,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/repoSettingsEditProperties"
|
android:text="@string/repoSettingsEditProperties"
|
||||||
|
android:drawableStart="@drawable/ic_edit"
|
||||||
android:drawablePadding="32dp"
|
android:drawablePadding="32dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="16dp"
|
android:padding="16dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_edit" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -81,13 +81,13 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/repoSettingsTransferOwnership"
|
android:text="@string/repoSettingsTransferOwnership"
|
||||||
|
android:drawableStart="@drawable/ic_arrow_up"
|
||||||
android:drawablePadding="32dp"
|
android:drawablePadding="32dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_arrow_up" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/transferRepositoryOwnershipHint"
|
android:id="@+id/transferRepositoryOwnershipHint"
|
||||||
@ -120,13 +120,13 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/repoSettingsDelete"
|
android:text="@string/repoSettingsDelete"
|
||||||
|
android:drawableStart="@drawable/ic_delete"
|
||||||
android:drawablePadding="32dp"
|
android:drawablePadding="32dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_delete" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/deleteRepositoryHint"
|
android:id="@+id/deleteRepositoryHint"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/adminCreateNewUser"
|
android:text="@string/adminCreateNewUser"
|
||||||
|
android:drawableStart="@drawable/ic_person_add"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_person_add" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/deleteAllDrafts"
|
android:text="@string/deleteAllDrafts"
|
||||||
|
android:drawableStart="@drawable/ic_delete"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_delete" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/editFile"
|
android:text="@string/editFile"
|
||||||
|
android:drawableStart="@drawable/ic_edit"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp" />
|
||||||
app:drawableStartCompat="@drawable/ic_edit" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/deleteFile"
|
android:id="@+id/deleteFile"
|
||||||
@ -36,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/deleteFile"
|
android:text="@string/deleteFile"
|
||||||
|
android:drawableStart="@drawable/ic_delete"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp" />
|
||||||
app:drawableStartCompat="@drawable/ic_delete" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/downloadFile"
|
android:id="@+id/downloadFile"
|
||||||
@ -48,11 +47,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/downloadFile"
|
android:text="@string/downloadFile"
|
||||||
|
android:drawableStart="@drawable/ic_download"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_download" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isOpen"
|
android:text="@string/isOpen"
|
||||||
|
android:drawableStart="@drawable/ic_issue"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_issue" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/closedIssues"
|
android:id="@+id/closedIssues"
|
||||||
@ -36,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isClosed"
|
android:text="@string/isClosed"
|
||||||
|
android:drawableStart="@drawable/ic_done"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_done" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -42,11 +41,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/labelMenuEdit"
|
android:text="@string/labelMenuEdit"
|
||||||
|
android:drawableStart="@drawable/ic_edit"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_edit" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/labelMenuDelete"
|
android:id="@+id/labelMenuDelete"
|
||||||
@ -54,11 +53,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/labelMenuDelete"
|
android:text="@string/labelMenuDelete"
|
||||||
|
android:drawableStart="@drawable/ic_delete"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_delete" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isOpen"
|
android:text="@string/isOpen"
|
||||||
|
android:drawableStart="@drawable/ic_milestone"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_milestone" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/closedMilestone"
|
android:id="@+id/closedMilestone"
|
||||||
@ -36,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isClosed"
|
android:text="@string/isClosed"
|
||||||
|
android:drawableStart="@drawable/ic_done"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_done" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/closeMilestone"
|
android:text="@string/closeMilestone"
|
||||||
|
android:drawableStart="@drawable/ic_close"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_close" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/openMilestone"
|
android:id="@+id/openMilestone"
|
||||||
@ -36,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/openMilestone"
|
android:text="@string/openMilestone"
|
||||||
|
android:drawableStart="@drawable/ic_check"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_check" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingTop="6dp"
|
android:paddingTop="6dp"
|
||||||
@ -24,11 +23,11 @@ android:background="?attr/primaryBackgroundColor">
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/pinNotification"
|
android:text="@string/pinNotification"
|
||||||
|
android:drawableStart="@drawable/ic_pin"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_pin" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/markRead"
|
android:id="@+id/markRead"
|
||||||
@ -36,11 +35,11 @@ android:background="?attr/primaryBackgroundColor">
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/markAsRead"
|
android:text="@string/markAsRead"
|
||||||
|
android:drawableStart="@drawable/ic_unwatch"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_unwatch" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/markUnread"
|
android:id="@+id/markUnread"
|
||||||
@ -48,11 +47,11 @@ android:background="?attr/primaryBackgroundColor">
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/markAsUnread"
|
android:text="@string/markAsUnread"
|
||||||
|
android:drawableStart="@drawable/ic_watchers"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_watchers" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isUnread"
|
android:text="@string/isUnread"
|
||||||
|
android:drawableStart="@drawable/ic_watchers"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_watchers" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/readNotifications"
|
android:id="@+id/readNotifications"
|
||||||
@ -36,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isRead"
|
android:text="@string/isRead"
|
||||||
|
android:drawableStart="@drawable/ic_unwatch"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_unwatch" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,23 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/createRepository"
|
android:text="@string/createRepository"
|
||||||
|
android:drawableStart="@drawable/ic_repo"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_repo" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/createLabel"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:text="@string/createLabel"
|
|
||||||
android:drawablePadding="24dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:padding="12dp"
|
|
||||||
app:drawableStartCompat="@drawable/ic_label" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/createTeam"
|
android:id="@+id/createTeam"
|
||||||
@ -48,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/orgCreateTeam"
|
android:text="@string/orgCreateTeam"
|
||||||
|
android:drawableStart="@drawable/ic_people"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_people" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/copyOrgUrl"
|
android:id="@+id/copyOrgUrl"
|
||||||
@ -60,11 +47,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/genericCopyUrl"
|
android:text="@string/genericCopyUrl"
|
||||||
|
android:drawableStart="@drawable/ic_copy"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_copy" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/addNewMember"
|
android:text="@string/addNewMember"
|
||||||
|
android:drawableStart="@drawable/ic_person_add"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_person_add" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/profileCreateNewEmailAddress"
|
android:text="@string/profileCreateNewEmailAddress"
|
||||||
|
android:drawableStart="@drawable/ic_email"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_email" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -24,11 +23,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isOpen"
|
android:text="@string/isOpen"
|
||||||
|
android:drawableStart="@drawable/ic_pull_request"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_pull_request" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/closedPr"
|
android:id="@+id/closedPr"
|
||||||
@ -36,11 +35,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/isClosed"
|
android:text="@string/isClosed"
|
||||||
|
android:drawableStart="@drawable/ic_done"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_done" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/shape_inputs"
|
android:background="@drawable/shape_inputs"
|
||||||
android:inputType="textMultiLine|textImeMultiLine|textCapSentences"
|
android:inputType="textMultiLine|textImeMultiLine"
|
||||||
android:maxLines="5"
|
android:maxLines="5"
|
||||||
android:padding="10dp"
|
android:padding="10dp"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -23,36 +22,36 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_file"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:text="@string/pageTitleNewFile"
|
android:text="@string/pageTitleNewFile"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp" />
|
||||||
app:drawableStartCompat="@drawable/ic_file" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/createNewIssue"
|
android:id="@+id/createNewIssue"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_issue"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:text="@string/pageTitleCreateNewIssue"
|
android:text="@string/pageTitleCreateNewIssue"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp" />
|
||||||
app:drawableStartCompat="@drawable/ic_issue" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/createPullRequest"
|
android:id="@+id/createPullRequest"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_pull_request"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:text="@string/pageTitleNewPullRequest"
|
android:text="@string/pageTitleNewPullRequest"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp" />
|
||||||
app:drawableStartCompat="@drawable/ic_pull_request" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/createNewMilestone"
|
android:id="@+id/createNewMilestone"
|
||||||
@ -60,11 +59,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/pageTitleCreateMilestone"
|
android:text="@string/pageTitleCreateMilestone"
|
||||||
|
android:drawableStart="@drawable/ic_milestone"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_milestone" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/createLabel"
|
android:id="@+id/createLabel"
|
||||||
@ -72,11 +71,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/createLabel"
|
android:text="@string/createLabel"
|
||||||
|
android:drawableStart="@drawable/ic_label"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_label" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/createRelease"
|
android:id="@+id/createRelease"
|
||||||
@ -84,11 +83,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/createRelease"
|
android:text="@string/createRelease"
|
||||||
|
android:drawableStart="@drawable/ic_release"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_release" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -104,11 +103,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/addCollaboratorTitle"
|
android:text="@string/addCollaboratorTitle"
|
||||||
|
android:drawableStart="@drawable/ic_person_add"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_person_add" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/starRepository"
|
android:id="@+id/starRepository"
|
||||||
@ -116,11 +115,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/starRepository"
|
android:text="@string/starRepository"
|
||||||
|
android:drawableStart="@drawable/ic_star_unfilled"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_star_unfilled" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/unStarRepository"
|
android:id="@+id/unStarRepository"
|
||||||
@ -128,11 +127,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/unStarRepository"
|
android:text="@string/unStarRepository"
|
||||||
|
android:drawableStart="@drawable/ic_star"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_star" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/watchRepository"
|
android:id="@+id/watchRepository"
|
||||||
@ -140,11 +139,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/watchRepository"
|
android:text="@string/watchRepository"
|
||||||
|
android:drawableStart="@drawable/ic_unwatch"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_unwatch" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/unWatchRepository"
|
android:id="@+id/unWatchRepository"
|
||||||
@ -152,11 +151,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/unWatchRepository"
|
android:text="@string/unWatchRepository"
|
||||||
|
android:drawableStart="@drawable/ic_watchers"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_watchers" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -171,36 +170,36 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_copy"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/genericCopyUrl"
|
android:text="@string/genericCopyUrl"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_copy" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/shareRepository"
|
android:id="@+id/shareRepository"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_share"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/shareRepository"
|
android:text="@string/shareRepository"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_share" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/openWebRepo"
|
android:id="@+id/openWebRepo"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_browser"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/openWebRepo"
|
android:text="@string/openWebRepo"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_browser" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/repoSettingsDivider"
|
android:id="@+id/repoSettingsDivider"
|
||||||
@ -216,12 +215,12 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_settings"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/navSettings"
|
android:text="@string/navSettings"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_settings" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -42,11 +41,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/repoStargazersInMenu"
|
android:text="@string/repoStargazersInMenu"
|
||||||
|
android:drawableStart="@drawable/ic_star_unfilled"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_star_unfilled" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/repoWatchers"
|
android:id="@+id/repoWatchers"
|
||||||
@ -54,11 +53,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/repoWatchersInMenu"
|
android:text="@string/repoWatchersInMenu"
|
||||||
|
android:drawableStart="@drawable/ic_unwatch"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_unwatch" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/repoForksList"
|
android:id="@+id/repoForksList"
|
||||||
@ -66,11 +65,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/infoTabRepoForksCount"
|
android:text="@string/infoTabRepoForksCount"
|
||||||
|
android:drawableStart="@drawable/ic_fork"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_fork" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/repoCopyUrl"
|
android:id="@+id/repoCopyUrl"
|
||||||
@ -78,11 +77,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/genericCopyUrl"
|
android:text="@string/genericCopyUrl"
|
||||||
|
android:drawableStart="@drawable/ic_copy"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_copy" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/repoOpenInBrowser"
|
android:id="@+id/repoOpenInBrowser"
|
||||||
@ -90,11 +89,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/openWebRepo"
|
android:text="@string/openWebRepo"
|
||||||
|
android:drawableStart="@drawable/ic_browser"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_browser" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -31,12 +30,12 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/openFileDiffText"
|
android:text="@string/openFileDiffText"
|
||||||
|
android:drawableStart="@drawable/ic_file"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_file" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/mergePullRequest"
|
android:id="@+id/mergePullRequest"
|
||||||
@ -44,11 +43,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/mergePullRequestText"
|
android:text="@string/mergePullRequestText"
|
||||||
|
android:drawableStart="@drawable/ic_pull_request"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_pull_request" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/editIssue"
|
android:id="@+id/editIssue"
|
||||||
@ -56,11 +55,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/editIssue"
|
android:text="@string/editIssue"
|
||||||
|
android:drawableStart="@drawable/ic_edit"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_edit" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/addRemoveAssignees"
|
android:id="@+id/addRemoveAssignees"
|
||||||
@ -68,11 +67,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/addRemoveAssignees"
|
android:text="@string/addRemoveAssignees"
|
||||||
|
android:drawableStart="@drawable/ic_person_add"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_person_add" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/editLabels"
|
android:id="@+id/editLabels"
|
||||||
@ -80,11 +79,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/singleIssueEditLabels"
|
android:text="@string/singleIssueEditLabels"
|
||||||
|
android:drawableStart="@drawable/ic_label"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_label" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/subscribeIssue"
|
android:id="@+id/subscribeIssue"
|
||||||
@ -92,24 +91,24 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/singleIssueSubscribe"
|
android:text="@string/singleIssueSubscribe"
|
||||||
|
android:drawableStart="@drawable/ic_unwatch"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_unwatch" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/unsubscribeIssue"
|
android:id="@+id/unsubscribeIssue"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_watchers"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/singleIssueUnSubscribe"
|
android:text="@string/singleIssueUnSubscribe"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_watchers" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -124,24 +123,24 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_share"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/shareIssue"
|
android:text="@string/shareIssue"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_share" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/copyIssueUrl"
|
android:id="@+id/copyIssueUrl"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
android:drawableStart="@drawable/ic_copy"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:text="@string/copyIssueUrl"
|
android:text="@string/copyIssueUrl"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_copy" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -157,11 +156,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/closeIssue"
|
android:text="@string/closeIssue"
|
||||||
|
android:drawableStart="@drawable/ic_issue_closed"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_issue_closed" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/reOpenIssue"
|
android:id="@+id/reOpenIssue"
|
||||||
@ -169,12 +168,12 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/reOpenIssue"
|
android:text="@string/reOpenIssue"
|
||||||
|
android:drawableStart="@drawable/ic_reopen"
|
||||||
android:drawablePadding="24dp"
|
android:drawablePadding="24dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:padding="12dp"
|
android:padding="12dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_reopen" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/primaryBackgroundColor">
|
android:background="?attr/primaryBackgroundColor">
|
||||||
@ -20,11 +19,16 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:text="@string/adminUsers"
|
android:text="@string/adminUsers"
|
||||||
|
android:drawableStart="@drawable/ic_people"
|
||||||
android:drawablePadding="32dp"
|
android:drawablePadding="32dp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:padding="16dp"
|
android:padding="16dp" />
|
||||||
app:drawableStartCompat="@drawable/ic_people" />
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:background="?attr/dividerColor" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -77,7 +77,6 @@
|
|||||||
android:id="@+id/commentReactionBadges"
|
android:id="@+id/commentReactionBadges"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"
|
|
||||||
android:layout_marginTop="15dp"
|
android:layout_marginTop="15dp"
|
||||||
android:orientation="horizontal" />
|
android:orientation="horizontal" />
|
||||||
|
|
||||||
|
@ -102,4 +102,11 @@
|
|||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_below="@id/mainFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:id="@+id/divider"
|
||||||
|
android:background="?attr/dividerColor" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
@ -178,4 +178,11 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_below="@id/mainFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:id="@+id/divider"
|
||||||
|
android:background="?attr/dividerColor" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:id="@+id/relativeLayoutFrame"
|
android:id="@+id/relativeLayoutFrame"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -98,10 +97,10 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:drawablePadding="5dp"
|
android:drawablePadding="5dp"
|
||||||
|
android:drawableStart="@drawable/ic_comment"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp" />
|
||||||
app:drawableStartCompat="@drawable/ic_comment" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@
|
|||||||
<string name="mergeOptionSquash">Zusammenfassen und Mergen</string>
|
<string name="mergeOptionSquash">Zusammenfassen und Mergen</string>
|
||||||
<string name="mergeStrategy">Merge-Strategie</string>
|
<string name="mergeStrategy">Merge-Strategie</string>
|
||||||
<string name="selectMergeStrategy">Wähle eine Merge-Strategie</string>
|
<string name="selectMergeStrategy">Wähle eine Merge-Strategie</string>
|
||||||
<string name="mergeNotAllowed">Mergen nicht erlaubt [Grund: Hat nicht genügend Genehmigungen]</string>
|
<string name="mergeNotAllowed">Nicht erlaubt zu mergen [Grund: Hat nicht genügend Genehmigungen]</string>
|
||||||
<string name="downloadFile">Datei herunterladen</string>
|
<string name="downloadFile">Datei herunterladen</string>
|
||||||
<string name="waitLoadingDownloadFile">Bitte warte, bis die Datei in den Speicher geladen wurde</string>
|
<string name="waitLoadingDownloadFile">Bitte warte, bis die Datei in den Speicher geladen wurde</string>
|
||||||
<string name="downloadFileSaved">Datei erfolgreich gespeichert</string>
|
<string name="downloadFileSaved">Datei erfolgreich gespeichert</string>
|
||||||
@ -555,7 +555,7 @@
|
|||||||
<string name="markedNotificationsAsRead">Alle Benachrichtigungen erfolgreich als gelesen markiert</string>
|
<string name="markedNotificationsAsRead">Alle Benachrichtigungen erfolgreich als gelesen markiert</string>
|
||||||
<string name="notificationsHintText">Intervall, Licht, Vibration</string>
|
<string name="notificationsHintText">Intervall, Licht, Vibration</string>
|
||||||
<string name="enableNotificationsHeaderText">Benachrichtigungen aktivieren</string>
|
<string name="enableNotificationsHeaderText">Benachrichtigungen aktivieren</string>
|
||||||
<string name="enableLightsHeaderText">Aktiviere Hell</string>
|
<string name="enableLightsHeaderText">Aktiviere LED</string>
|
||||||
<string name="enableVibrationHeaderText">Vibration aktivieren</string>
|
<string name="enableVibrationHeaderText">Vibration aktivieren</string>
|
||||||
<string name="chooseColorSelectorHeader">Farbe auswählen</string>
|
<string name="chooseColorSelectorHeader">Farbe auswählen</string>
|
||||||
<string name="newMessages">Neue Nachrichten</string>
|
<string name="newMessages">Neue Nachrichten</string>
|
||||||
|
@ -4,31 +4,31 @@
|
|||||||
<string name="navMyRepos">مخازن من</string>
|
<string name="navMyRepos">مخازن من</string>
|
||||||
<string name="navStarredRepos">مخازن ستاره دار</string>
|
<string name="navStarredRepos">مخازن ستاره دار</string>
|
||||||
<string name="navRepos">مخازن</string>
|
<string name="navRepos">مخازن</string>
|
||||||
<string name="navProfile">نمایه</string>
|
<string name="navProfile">پروفایل</string>
|
||||||
<string name="navSettings">تنظیمات</string>
|
<string name="navSettings">تنظیمات</string>
|
||||||
<string name="navOrgs">سازمانها</string>
|
<string name="navOrgs">سازمانها</string>
|
||||||
<string name="navAbout">درباره ما</string>
|
<string name="navAbout">در مورد ما</string>
|
||||||
<string name="navRate">به GitNex امتیاز دهید</string>
|
<string name="navRate">به GitNex امتیاز دهید</string>
|
||||||
<string name="navLogout">خروج از حساب کاربری</string>
|
<string name="navLogout">خروج از حساب کاربری</string>
|
||||||
<string name="navExplore">گشتوگذار</string>
|
<string name="navExplore">جست و جو</string>
|
||||||
<string name="navAdministration">مدیریت</string>
|
<string name="navAdministration">Administration</string>
|
||||||
<string name="navSearchIssuesPulls">جستجوی مسائل</string>
|
<string name="navSearchIssuesPulls">Search Issues</string>
|
||||||
<!-- menu items -->
|
<!-- menu items -->
|
||||||
<!-- page titles -->
|
<!-- page titles -->
|
||||||
<string name="pageTitleAbout">درباره ما</string>
|
<string name="pageTitleAbout">در مورد ما</string>
|
||||||
<string name="pageTitleMyRepos">مخازن من</string>
|
<string name="pageTitleMyRepos">مخازن من</string>
|
||||||
<string name="pageTitleRepositories">مخازن</string>
|
<string name="pageTitleRepositories">مخازن</string>
|
||||||
<string name="pageTitleProfile">نمایه</string>
|
<string name="pageTitleProfile">پروفایل</string>
|
||||||
<string name="pageTitleNewRepo">ایجاد مخزن جدید</string>
|
<string name="pageTitleNewRepo">ایجاد مخزن جدید</string>
|
||||||
<string name="pageTitleOrganizations">سازمانها</string>
|
<string name="pageTitleOrganizations">سازمانها</string>
|
||||||
<string name="pageTitleIssues">ایرادها</string>
|
<string name="pageTitleIssues">مشکلات</string>
|
||||||
<string name="pageTitleSettings">تنظیمات</string>
|
<string name="pageTitleSettings">تنظیمات</string>
|
||||||
<string name="pageTitleCreateOrganization">سازمان جدید</string>
|
<string name="pageTitleCreateOrganization">سازمان جدید</string>
|
||||||
<string name="pageTitleCreateMilestone">نقطه عطف جدید</string>
|
<string name="pageTitleCreateMilestone">نقطه عطف جدید</string>
|
||||||
<string name="pageTitleCreateNewIssue">مشکل جدید</string>
|
<string name="pageTitleCreateNewIssue">مشکل جدید</string>
|
||||||
<string name="pageTitleCreateLabel">برچسب جدید</string>
|
<string name="pageTitleCreateLabel">برچسب جدید</string>
|
||||||
<string name="pageTitleCredits">سازندگان</string>
|
<string name="pageTitleCredits">Credits</string>
|
||||||
<string name="pageTitleChooseBranch">انتخاب شاخه</string>
|
<string name="pageTitleChooseBranch">Select Branch</string>
|
||||||
<string name="pageTitleLabelUpdate">به روز رسانی برچسب</string>
|
<string name="pageTitleLabelUpdate">به روز رسانی برچسب</string>
|
||||||
<string name="pageTitleSponsors">حامیان</string>
|
<string name="pageTitleSponsors">حامیان</string>
|
||||||
<string name="pageTitleStarredRepos">مخازن ستاره دار</string>
|
<string name="pageTitleStarredRepos">مخازن ستاره دار</string>
|
||||||
@ -36,19 +36,19 @@
|
|||||||
<string name="pageTitleAddEmail">افزدون پست الکترونیکی</string>
|
<string name="pageTitleAddEmail">افزدون پست الکترونیکی</string>
|
||||||
<string name="pageTitleNewFile">فایل جدید</string>
|
<string name="pageTitleNewFile">فایل جدید</string>
|
||||||
<string name="pageTitleExplore">گشتوگذار</string>
|
<string name="pageTitleExplore">گشتوگذار</string>
|
||||||
<string name="pageTitleAdministration">مدیریت Gitea</string>
|
<string name="pageTitleAdministration">Gitea Administration</string>
|
||||||
<string name="pageTitleUserAccounts">مدیریت حسابها</string>
|
<string name="pageTitleUserAccounts">Manage Accounts</string>
|
||||||
<string name="pageTitleNewPullRequest">ایجاد درخواست ادغام جدید</string>
|
<string name="pageTitleNewPullRequest">New Pull Request</string>
|
||||||
<!-- page titles -->
|
<!-- page titles -->
|
||||||
<string name="repoName">مخزن پیش نمایشی</string>
|
<string name="repoName">مخزن نمایشی</string>
|
||||||
<string name="repoFullname">مخزن با ORG</string>
|
<string name="repoFullname">نخزن با ORG</string>
|
||||||
<string name="repoDescription">توضیحات پیش نمایشی</string>
|
<string name="repoDescription">توضیحات نمایشی</string>
|
||||||
<string name="noData">هیچ مخزنی یافت نشد</string>
|
<string name="noData">مخزن یافت نشد</string>
|
||||||
<string name="orgName">سازمان پیش نمایشی</string>
|
<string name="orgName">سازمان نمایشی</string>
|
||||||
<string name="orgDescription">توضیحات پیش نمایشی</string>
|
<string name="orgDescription">توضیحات نمایشی</string>
|
||||||
<string name="noDataOrg">هیچ سازمانی یافت نشد</string>
|
<string name="noDataOrg">سازمان یافت نشد</string>
|
||||||
<string name="newCreateButtonCopy">ایجاد</string>
|
<string name="newCreateButtonCopy">ایجاد</string>
|
||||||
<string name="newUpdateButtonCopy">بهروزرسانی</string>
|
<string name="newUpdateButtonCopy">به روزرسانی</string>
|
||||||
<string name="newRepoTintCopy">نام مخزن</string>
|
<string name="newRepoTintCopy">نام مخزن</string>
|
||||||
<string name="newRepoDescTintCopy">توضیح مخزن</string>
|
<string name="newRepoDescTintCopy">توضیح مخزن</string>
|
||||||
<string name="newRepoPrivateCopy">خصوصی</string>
|
<string name="newRepoPrivateCopy">خصوصی</string>
|
||||||
@ -58,26 +58,26 @@
|
|||||||
<string name="newOrgDescTintCopy">توضیحات سازمان</string>
|
<string name="newOrgDescTintCopy">توضیحات سازمان</string>
|
||||||
<string name="newOrgDescInfo">حداکثر 255 کاراکتر</string>
|
<string name="newOrgDescInfo">حداکثر 255 کاراکتر</string>
|
||||||
<string name="userName">نام کاربری</string>
|
<string name="userName">نام کاربری</string>
|
||||||
<string name="passWord">گذرواژه</string>
|
<string name="passWord">رمز عبور</string>
|
||||||
<string name="btnLogin">ورود به حساب کاربری</string>
|
<string name="btnLogin">ورود به حساب کاربری</string>
|
||||||
<string name="instanceUrl">URL نمونه</string>
|
<string name="instanceUrl">URL نمونه</string>
|
||||||
<string name="navigation_drawer_open">بار کردن کشوی ناوبری</string>
|
<string name="navigation_drawer_open">باز کردن کشو ی ناوبری</string>
|
||||||
<string name="navigation_drawer_close">بستن کشوی ناوبری</string>
|
<string name="navigation_drawer_close">بستن کشوی ناوبری</string>
|
||||||
<string name="logo">ورود به Gitea</string>
|
<string name="logo">ورود به گیتی</string>
|
||||||
<string name="protocol">پروتکل</string>
|
<string name="protocol">Protocol</string>
|
||||||
<string name="urlInfoTooltip">1. پروتوکل صحیح را انتخاب کنید (http یا https)
|
<string name="urlInfoTooltip">1. پروتوکل صحیح را انتخاب کنید (http یا https)
|
||||||
2. URL گیتی را وارد کنید. مثلا: try.gitea.io
|
2. URL گیتی را وارد کنید. مثلا: try.gitea.io
|
||||||
3. اگر احراز هویت دو مرحلهای را برای حساب خود فعال کردهاید، کد را در کادر OTP وارد کنید.
|
3. اگر احراز هویت دو مرحلهای را برای حساب خود فعال کردهاید، کد را در کادر OTP وارد کنید.
|
||||||
4. برای احراز هویت عادی HTTP از نامکاربری@دامنه در کادر URL استفاده کنید.</string>
|
4. برای احراز هویت عادی HTTP از نامکاربری@دامنه در کادر URL استفاده کنید.</string>
|
||||||
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors</string>
|
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors</string>
|
||||||
<string name="protocolError">استفاده از پروتکل HTTP توصیه نمیشود مگر اینکه در حال آزمایش در شبکه محلی باشید</string>
|
<string name="protocolError">It is not recommended to use HTTP protocol unless you are testing on local network</string>
|
||||||
<string name="malformedJson">Malformed JSON was received. Server response was not successful</string>
|
<string name="malformedJson">Malformed JSON was received. Server response was not successful</string>
|
||||||
<string name="emptyFieldURL">URL نمونه مورد نیاز است</string>
|
<string name="emptyFieldURL">URL نمونه مورد نیاز است</string>
|
||||||
<string name="emptyFieldUsername">نام کاربری اجباری است</string>
|
<string name="emptyFieldUsername">نام کاربری اجباری است</string>
|
||||||
<string name="emptyFieldPassword">گذرواژه الزامی است</string>
|
<string name="emptyFieldPassword">گذر واژه اجباری است</string>
|
||||||
<string name="protocolEmptyError">پروتکل الزامی است</string>
|
<string name="protocolEmptyError">Protocol is required</string>
|
||||||
<string name="checkNetConnection">عدم دسترسی به شبکه، لطفا اتصال اینترنت خود را بررسی کنید</string>
|
<string name="checkNetConnection">عدم دسترسی به شبکه، لطفا از برقراری ارتباط با اینترنت مطمئن شوید</string>
|
||||||
<string name="netConnectionIsBack">جانمی، دوباره اتصال اینترنت داریم!</string>
|
<string name="netConnectionIsBack">Yay, We have Internet connection!</string>
|
||||||
<string name="repoNameErrorEmpty">نام مخزن خالی است</string>
|
<string name="repoNameErrorEmpty">نام مخزن خالی است</string>
|
||||||
<string name="repoNameErrorInvalid">نام مخزن اشتباه است. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">نام مخزن اشتباه است. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -102,7 +102,7 @@
|
|||||||
<string name="orgContentAvatar">سازمان</string>
|
<string name="orgContentAvatar">سازمان</string>
|
||||||
<string name="repoContentAvatar">مخزن</string>
|
<string name="repoContentAvatar">مخزن</string>
|
||||||
<string name="privateAvatar">Pri</string>
|
<string name="privateAvatar">Pri</string>
|
||||||
<string name="removeContent">حذف</string>
|
<string name="removeContent">پاک کردن</string>
|
||||||
<string name="genericApiStatusError">نمونه یک خطا اعلام کرد. کد\u0020</string>
|
<string name="genericApiStatusError">نمونه یک خطا اعلام کرد. کد\u0020</string>
|
||||||
<string name="title_activity_repo_detail">RepoDetailActivity</string>
|
<string name="title_activity_repo_detail">RepoDetailActivity</string>
|
||||||
<string name="tab_text_info">جزئیات</string>
|
<string name="tab_text_info">جزئیات</string>
|
||||||
@ -110,52 +110,52 @@
|
|||||||
<string name="tab_text_ml">نقاط عطف</string>
|
<string name="tab_text_ml">نقاط عطف</string>
|
||||||
<string name="tab_text_releases">انتشارها</string>
|
<string name="tab_text_releases">انتشارها</string>
|
||||||
<string name="tab_text_branches">شاخهها</string>
|
<string name="tab_text_branches">شاخهها</string>
|
||||||
<string name="tab_text_labels">برچسبها</string>
|
<string name="tab_text_labels">Labels</string>
|
||||||
<string name="tab_text_collaborators">همکاران</string>
|
<string name="tab_text_collaborators">Collaborators</string>
|
||||||
<string name="tabPullRequests">درخواستهای ادغام</string>
|
<string name="tabPullRequests">Pull Requests</string>
|
||||||
<string name="noDataIssueTab">هیچ مسئلهای یافت نشد</string>
|
<string name="noDataIssueTab">No issues found</string>
|
||||||
<string name="infoTabRepoSize">اندازه</string>
|
<string name="infoTabRepoSize">Size</string>
|
||||||
<string name="infoTabRepoDefaultBranch">شاخه پیشفرض</string>
|
<string name="infoTabRepoDefaultBranch">Default Branch</string>
|
||||||
<string name="infoTabRepoSshUrl">نشانی SSH</string>
|
<string name="infoTabRepoSshUrl">SSH URL</string>
|
||||||
<string name="infoTabRepoCloneUrl">نشانی همانندسازی</string>
|
<string name="infoTabRepoCloneUrl">Clone URL</string>
|
||||||
<string name="infoTabRepoRepoUrl">نشانی مخزن</string>
|
<string name="infoTabRepoRepoUrl">Repo URL</string>
|
||||||
<string name="infoTabRepoForksCount">انشعابها</string>
|
<string name="infoTabRepoForksCount">Forks</string>
|
||||||
<string name="infoTabRepoCreatedAt">ایجاد شد</string>
|
<string name="infoTabRepoCreatedAt">Created</string>
|
||||||
<string name="infoTabRepoUpdatedAt">آخرین بهروزرسانی</string>
|
<string name="infoTabRepoUpdatedAt">Last Updated</string>
|
||||||
<string name="infoShowMoreInformation">نمایش اطلاعات بیشتر</string>
|
<string name="infoShowMoreInformation">Show More Information</string>
|
||||||
<string name="infoMoreInformation">اطلاعات بیشتر</string>
|
<string name="infoMoreInformation">More Information</string>
|
||||||
<string name="timeAtText">در</string>
|
<string name="timeAtText">at</string>
|
||||||
<string name="createdText">باز شده\u0020</string>
|
<string name="createdText">Opened\u0020</string>
|
||||||
<string name="issueCreator">سازنده:\u0020</string>
|
<string name="issueCreator">Creator :\u0020</string>
|
||||||
<string name="issueCommenter">Commenter:\u0020</string>
|
<string name="issueCommenter">Commenter:\u0020</string>
|
||||||
<string name="issueMilestone">نقطه عطف %1$s</string>
|
<string name="issueMilestone">Milestone %1$s</string>
|
||||||
<string name="dueDate">Due on %1$s</string>
|
<string name="dueDate">Due on %1$s</string>
|
||||||
<string name="assignedTo">واگذار شده به: %1$s</string>
|
<string name="assignedTo">Assigned to: %1$s</string>
|
||||||
<string name="commentButtonText">دیدگاه</string>
|
<string name="commentButtonText">Comment</string>
|
||||||
<string name="commentEmptyError">لطفا دیدگاه خود را بنویسید</string>
|
<string name="commentEmptyError">Please write your comment</string>
|
||||||
<string name="commentSuccess">دیدگاه منتشر شد</string>
|
<string name="commentSuccess">Comment posted</string>
|
||||||
<string name="commentError">مشکلی پیش آمد. لطفا دوباره تلاش کنید</string>
|
<string name="commentError">Something went wrong, please try again</string>
|
||||||
<string name="featureDeprecated">این عملگر در آینده حذف خواهد شد</string>
|
<string name="featureDeprecated">This function will be removed in the future</string>
|
||||||
<string name="generalImgContentText">چهرک</string>
|
<string name="generalImgContentText">Avatar</string>
|
||||||
<string name="noDataMilestonesTab">هیچ نقطه عطفی یافت نشد</string>
|
<string name="noDataMilestonesTab">No milestones found</string>
|
||||||
<string name="commitAuthor">Commit author: %1$s</string>
|
<string name="commitAuthor">Commit author: %1$s</string>
|
||||||
<string name="releaseDownloadText">بارگیریها</string>
|
<string name="releaseDownloadText">Downloads</string>
|
||||||
<string name="noDataReleasesTab">هیچ انتشاری یافت نشد</string>
|
<string name="noDataReleasesTab">No releases found</string>
|
||||||
<string name="releasePublishedBy">منتشر شده توسط @%1$s</string>
|
<string name="releasePublishedBy">Published by @%1$s</string>
|
||||||
<string name="noReleaseBodyContent">Release notes are not provided by the publisher.</string>
|
<string name="noReleaseBodyContent">Release notes are not provided by the publisher.</string>
|
||||||
<string name="noDataCollaboratorTab">همکاری پیدا نشد</string>
|
<string name="noDataCollaboratorTab">مشارکت کنندهای پیدا نشد</string>
|
||||||
<string name="newMilestoneTitle">عنوان</string>
|
<string name="newMilestoneTitle">عنوان</string>
|
||||||
<string name="newMilestoneDescription">توضیحات</string>
|
<string name="newMilestoneDescription">توضیحات</string>
|
||||||
<string name="newMilestoneDueDate">تاریخ مقرر</string>
|
<string name="newMilestoneDueDate">تاریخ مقرر</string>
|
||||||
<string name="milestoneNameErrorEmpty">عنوان نقطه عطف خالی است</string>
|
<string name="milestoneNameErrorEmpty">عنوان نقطه عطف خالی است</string>
|
||||||
<string name="milestoneDescError">توضیحات نقطه عطف از سقف 255 کاراکتر بیشتر است</string>
|
<string name="milestoneDescError">توضیحات نقطه عطف از سقف 255 کاراکتر بیشتر است</string>
|
||||||
<string name="milestoneCreated">نقطه عطف با موفقیت ساخته شد</string>
|
<string name="milestoneCreated">نقطه عطف با موفقیت ساخته شد</string>
|
||||||
<string name="milestoneCreatedError">مشکلی رخ داد، لطفا دوباره تلاش کنید</string>
|
<string name="milestoneCreatedError">مشکلی پیش آمده. لطفا دوباره تلاش کنید</string>
|
||||||
<string name="milestoneDateEmpty">لطفا تاریخ مقرر را انتخاب کنید</string>
|
<string name="milestoneDateEmpty">لطفا تاریخ مقرر را انتخاب کنید</string>
|
||||||
<string name="milestoneNoDueDate">No due date</string>
|
<string name="milestoneNoDueDate">No due date</string>
|
||||||
<string name="milestoneNoDescription">بدون توضیح</string>
|
<string name="milestoneNoDescription">No description</string>
|
||||||
<string name="milestoneIssueStatusOpen">%1$d باز</string>
|
<string name="milestoneIssueStatusOpen">%1$d Open</string>
|
||||||
<string name="milestoneIssueStatusClosed">%1$d بسته شده</string>
|
<string name="milestoneIssueStatusClosed">%1$d Closed</string>
|
||||||
<string name="newIssueSelectAssigneesListTitle">Select Assignees</string>
|
<string name="newIssueSelectAssigneesListTitle">Select Assignees</string>
|
||||||
<string name="newIssueSelectLabelsListTitle">برچسبها را انتخاب کنید</string>
|
<string name="newIssueSelectLabelsListTitle">برچسبها را انتخاب کنید</string>
|
||||||
<string name="newIssueTitle">عنوان</string>
|
<string name="newIssueTitle">عنوان</string>
|
||||||
@ -173,7 +173,7 @@
|
|||||||
<string name="noLabelsFound">برچسبی پیدا نشد</string>
|
<string name="noLabelsFound">برچسبی پیدا نشد</string>
|
||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="settingsLanguageHeaderText">ترجمه</string>
|
<string name="settingsLanguageHeaderText">ترجمه</string>
|
||||||
<string name="settingsSecurityHeader">امنیت</string>
|
<string name="settingsSecurityHeader">Security</string>
|
||||||
<string name="settingsCertsSelectorHeader">Delete Trusted Certificates</string>
|
<string name="settingsCertsSelectorHeader">Delete Trusted Certificates</string>
|
||||||
<string name="settingsCertsPopupTitle">Delete Trusted Certificates?</string>
|
<string name="settingsCertsPopupTitle">Delete Trusted Certificates?</string>
|
||||||
<string name="settingsCertsPopupMessage">Are you sure to delete any manually trusted certificate or hostname? \n\nYou will also be logged out.</string>
|
<string name="settingsCertsPopupMessage">Are you sure to delete any manually trusted certificate or hostname? \n\nYou will also be logged out.</string>
|
||||||
@ -184,34 +184,34 @@
|
|||||||
<string name="settingsAppearanceHeader">ظاهر</string>
|
<string name="settingsAppearanceHeader">ظاهر</string>
|
||||||
<string name="settingsDateTimeHeaderDefault">زیبا</string>
|
<string name="settingsDateTimeHeaderDefault">زیبا</string>
|
||||||
<string name="settingsLanguageSelectorDialogTitle">انتخاب زبان</string>
|
<string name="settingsLanguageSelectorDialogTitle">انتخاب زبان</string>
|
||||||
<string name="settingsTimeSelectorDialogTitle">قالب زمان را انتخاب کنید</string>
|
<string name="settingsTimeSelectorDialogTitle">فرمت ساعت را انتخاب کنید</string>
|
||||||
<string name="settingsHelpTranslateText">به ما در ترجمه GitNex به زبان خود کمک کنید</string>
|
<string name="settingsHelpTranslateText">برای ترجمه ی GitNex به زبان خود کمک کنید</string>
|
||||||
<string name="codeBlockHeaderText">Code Block Color</string>
|
<string name="codeBlockHeaderText">Code Block Color</string>
|
||||||
<string name="settingsCodeBlockSelectorDialogTitle">Code Block Color Selector</string>
|
<string name="settingsCodeBlockSelectorDialogTitle">Code Block Color Selector</string>
|
||||||
<string name="settingsHomeScreenHeaderText">صفحه اصلی</string>
|
<string name="settingsHomeScreenHeaderText">صفحه خانگی</string>
|
||||||
<string name="settingsHomeScreenSelectedText">مخازن من</string>
|
<string name="settingsHomeScreenSelectedText">مخازن من</string>
|
||||||
<string name="settingsHomeScreenSelectorDialogTitle">انتخاب صفحه اصلی</string>
|
<string name="settingsHomeScreenSelectorDialogTitle">Select Home Screen</string>
|
||||||
<string name="settingsCustomFontHeaderText">فونت</string>
|
<string name="settingsCustomFontHeaderText">Font</string>
|
||||||
<string name="settingsCustomFontSelectorDialogTitle">انتخاب فونت</string>
|
<string name="settingsCustomFontSelectorDialogTitle">Choose Font</string>
|
||||||
<string name="themeSelectorDialogTitle">انتخاب پوسته برنامه</string>
|
<string name="themeSelectorDialogTitle">Select App Theme</string>
|
||||||
<string name="themeSelectionHeaderText">پوسته</string>
|
<string name="themeSelectionHeaderText">Theme</string>
|
||||||
<string name="settingsPdfModeHeaderText">حالت شب PDF</string>
|
<string name="settingsPdfModeHeaderText">PDF Night Mode</string>
|
||||||
<string name="fileViewerHeader">نمایشگر پرونده</string>
|
<string name="fileViewerHeader">File Viewer</string>
|
||||||
<string name="settingsCounterBadges">نشانهای شمارشگر</string>
|
<string name="settingsCounterBadges">Counter Badges</string>
|
||||||
<string name="settingsFileviewerSourceCodeHeaderText">پوسته کد منبع</string>
|
<string name="settingsFileviewerSourceCodeHeaderText">Source Code Theme</string>
|
||||||
<string name="fileviewerSourceCodeThemeSelectorDialogTitle">انتخاب پوسته کد منبع</string>
|
<string name="fileviewerSourceCodeThemeSelectorDialogTitle">Select Source Code Theme</string>
|
||||||
<string name="cacheSizeDataDialogHeader">Data Cache Size</string>
|
<string name="cacheSizeDataDialogHeader">Data Cache Size</string>
|
||||||
<string name="cacheSizeDataSelectionHeaderText">Data Cache Size</string>
|
<string name="cacheSizeDataSelectionHeaderText">Data Cache Size</string>
|
||||||
<string name="cacheSizeImagesDialogHeader">Images Cache Size</string>
|
<string name="cacheSizeImagesDialogHeader">Images Cache Size</string>
|
||||||
<string name="cacheSizeImagesSelectionHeaderText">Images Cache Size</string>
|
<string name="cacheSizeImagesSelectionHeaderText">Images Cache Size</string>
|
||||||
<string name="clearCacheSelectionHeaderText">Clear Cache</string>
|
<string name="clearCacheSelectionHeaderText">Clear Cache</string>
|
||||||
<string name="clearCacheDialogHeader">حافظه پنهان پاک شود؟</string>
|
<string name="clearCacheDialogHeader">Clear Cache?</string>
|
||||||
<string name="clearCacheDialogMessage">This will delete all the cache data including files and images.\n\nProceed with deletion?</string>
|
<string name="clearCacheDialogMessage">This will delete all the cache data including files and images.\n\nProceed with deletion?</string>
|
||||||
<string name="draftsHeader">پیش نویسها</string>
|
<string name="draftsHeader">Drafts</string>
|
||||||
<string name="draftsHintText">پیشنویس دیدگاهها</string>
|
<string name="draftsHintText">Comments draft</string>
|
||||||
<string name="settingsEnableCommentsDeletionText">Enable Drafts Deletion</string>
|
<string name="settingsEnableCommentsDeletionText">Enable Drafts Deletion</string>
|
||||||
<string name="settingsEnableCommentsDeletionHintText">Delete comment draft when comment is posted</string>
|
<string name="settingsEnableCommentsDeletionHintText">Delete comment draft when comment is posted</string>
|
||||||
<string name="settingsGeneralHeader">عمومی</string>
|
<string name="settingsGeneralHeader">General</string>
|
||||||
<string name="generalHintText">Home screen, default link handler</string>
|
<string name="generalHintText">Home screen, default link handler</string>
|
||||||
<string name="generalDeepLinkDefaultScreen">Default Link Handler</string>
|
<string name="generalDeepLinkDefaultScreen">Default Link Handler</string>
|
||||||
<string name="generalDeepLinkDefaultScreenHintText">Choose what screen should be loaded if the app cannot handle external links. It will redirect you automatically.</string>
|
<string name="generalDeepLinkDefaultScreenHintText">Choose what screen should be loaded if the app cannot handle external links. It will redirect you automatically.</string>
|
||||||
@ -223,217 +223,217 @@
|
|||||||
<string name="menuTitleText">منو مخزن</string>
|
<string name="menuTitleText">منو مخزن</string>
|
||||||
<string name="labelName">نام برچسب</string>
|
<string name="labelName">نام برچسب</string>
|
||||||
<string name="labelColor">رنگ برچسب</string>
|
<string name="labelColor">رنگ برچسب</string>
|
||||||
<string name="labelEmptyError">نام پرچسب خالی است</string>
|
<string name="labelEmptyError">Label name is empty</string>
|
||||||
<string name="labelNameError">نام برچسب نامعتبر است</string>
|
<string name="labelNameError">Label name is not valid</string>
|
||||||
<string name="labelCreated">برچسب ساخته شد.</string>
|
<string name="labelCreated">Label created.</string>
|
||||||
<string name="labelGeneralError">مشکلی رخ داد، لطفا دوباره تلاش کنید</string>
|
<string name="labelGeneralError">Something went wrong, please try again</string>
|
||||||
<string name="labelUpdated">برچسب بهروزرسانی شد.</string>
|
<string name="labelUpdated">Label updated.</string>
|
||||||
<string name="noDataLabelsTab">هیچ برچسبی یافت نشد</string>
|
<string name="noDataLabelsTab">No labels found</string>
|
||||||
<string name="labelMenuContentDesc">توضیح</string>
|
<string name="labelMenuContentDesc">Desc</string>
|
||||||
<string name="labelMenuEdit">ویرایش</string>
|
<string name="labelMenuEdit">Edit</string>
|
||||||
<string name="labelMenuDelete">حذف</string>
|
<string name="labelMenuDelete">Delete</string>
|
||||||
<string name="labelDeleteText">برچسب حذف شد</string>
|
<string name="labelDeleteText">Label deleted</string>
|
||||||
<string name="labelDeleteErrorText">مشکلی پیش آمد، لطفا دوباره تلاش کنید</string>
|
<string name="labelDeleteErrorText">Something went wrong, please try again</string>
|
||||||
<string name="noDataBranchesTab">هیچ شاخهای یافت نشد</string>
|
<string name="noDataBranchesTab">No branches found</string>
|
||||||
<string name="selectBranchError">یک شاخه را برای انتشار انتخاب کنید</string>
|
<string name="selectBranchError">Select a branch for release</string>
|
||||||
<string name="alertDialogTokenRevokedTitle">خطای ورود به سامانه</string>
|
<string name="alertDialogTokenRevokedTitle">Authorization Error</string>
|
||||||
<string name="alertDialogTokenRevokedMessage">It seems that the Access Token is revoked OR your are not allowed to see these contents.\n\nIn case of revoked Token, please logout and login again</string>
|
<string name="alertDialogTokenRevokedMessage">It seems that the Access Token is revoked OR your are not allowed to see these contents.\n\nIn case of revoked Token, please logout and login again</string>
|
||||||
<string name="alertDialogTokenRevokedCopyNegativeButton">لغو</string>
|
<string name="alertDialogTokenRevokedCopyNegativeButton">Cancel</string>
|
||||||
<string name="alertDialogTokenRevokedCopyPositiveButton">خروج از حساب کاربری</string>
|
<string name="alertDialogTokenRevokedCopyPositiveButton">خروج از حساب کاربری</string>
|
||||||
<string name="labelDeleteTitle">حذف\u0020</string>
|
<string name="labelDeleteTitle">Delete\u0020</string>
|
||||||
<string name="labelDeleteMessage">آیا شما واقعا میخواهید این برچسب را حذف کنید؟</string>
|
<string name="labelDeleteMessage">Do you really want to delete this label?</string>
|
||||||
<string name="labelDeletePositiveButton">باشه</string>
|
<string name="labelDeletePositiveButton">OK</string>
|
||||||
<string name="labelDeleteNegativeButton">لغو</string>
|
<string name="labelDeleteNegativeButton">Cancel</string>
|
||||||
<!-- org tabbed layout str -->
|
<!-- org tabbed layout str -->
|
||||||
<string name="title_activity_org_detail">OrgDetailActivity</string>
|
<string name="title_activity_org_detail">OrgDetailActivity</string>
|
||||||
<string name="orgTabRepos">مخازن</string>
|
<string name="orgTabRepos">مخازن</string>
|
||||||
<string name="orgTabTeams">تیمها</string>
|
<string name="orgTabTeams">Teams</string>
|
||||||
<string name="orgTabMembers">اعضا</string>
|
<string name="orgTabMembers">Members</string>
|
||||||
<string name="orgCreateTeam">تیم جدید</string>
|
<string name="orgCreateTeam">تیم جدید</string>
|
||||||
<string name="noDataTeams">هیچ تیمی یافت نشد</string>
|
<string name="noDataTeams">No teams found</string>
|
||||||
<string name="teamTitle">نام تیم</string>
|
<string name="teamTitle">Team name</string>
|
||||||
<string name="teamDescription">توضیحات تیم</string>
|
<string name="teamDescription">Team desc</string>
|
||||||
<string name="teamPermission">دسترسی : %1$s</string>
|
<string name="teamPermission">Permission : %1$s</string>
|
||||||
<string name="noDataMembers">هیچ عضوی یافت نشد</string>
|
<string name="noDataMembers">No members found</string>
|
||||||
<string name="orgMember">اعضای سازمان</string>
|
<string name="orgMember">Org members</string>
|
||||||
<string name="orgTeamMembers">اعضای تیم سازمان</string>
|
<string name="orgTeamMembers">Organization team members</string>
|
||||||
<string name="addNewMember">افزودن / حذف عضو جدید</string>
|
<string name="addNewMember">Add / Remove New Member</string>
|
||||||
<string name="removeTeamMemberTitle">حذف\u0020</string>
|
<string name="removeTeamMemberTitle">Remove\u0020</string>
|
||||||
<string name="addTeamMemberTitle">افزودن\u0020</string>
|
<string name="addTeamMemberTitle">Add\u0020</string>
|
||||||
<string name="addTeamMemberMessage">آیا میخواهید که این کاربر را به تیم بیفزایید؟</string>
|
<string name="addTeamMemberMessage">Do you want to add this user to the team?</string>
|
||||||
<string name="removeTeamMemberMessage">آیا میخواهید که این کاربر را از تیم حذف کنید؟</string>
|
<string name="removeTeamMemberMessage">Do you want to remove this user from the team?</string>
|
||||||
<string name="memberAddedMessage">عضو با موفقیت به تیم افزوده شد</string>
|
<string name="memberAddedMessage">Member added to the team successfully</string>
|
||||||
<string name="memberRemovedMessage">عضو با موفقیت از تیم حذف شد</string>
|
<string name="memberRemovedMessage">Member removed from the team successfully</string>
|
||||||
<!-- org tabbed layout str -->
|
<!-- org tabbed layout str -->
|
||||||
<!-- create team -->
|
<!-- create team -->
|
||||||
<string name="newTeamTitle">نام تیم</string>
|
<string name="newTeamTitle">Team Name</string>
|
||||||
<string name="newTeamDesc">توضیحات</string>
|
<string name="newTeamDesc">Description</string>
|
||||||
<string name="newTeamPermission">دسترسیها</string>
|
<string name="newTeamPermission">Permission</string>
|
||||||
<string name="newTeamAccessControls">کنترل دسترسی</string>
|
<string name="newTeamAccessControls">Access Controls</string>
|
||||||
<string name="newTeamPermissionRead">Members can view and clone team repositories</string>
|
<string name="newTeamPermissionRead">Members can view and clone team repositories</string>
|
||||||
<string name="newTeamPermissionWrite">Members can read and push to team repositories</string>
|
<string name="newTeamPermissionWrite">Members can read and push to team repositories</string>
|
||||||
<string name="newTeamPermissionAdmin">Members can pull and push to team repositories and add collaborators to them</string>
|
<string name="newTeamPermissionAdmin">Members can pull and push to team repositories and add collaborators to them</string>
|
||||||
<string name="teamNameEmpty">لطفا نام تیم را وارد کنید</string>
|
<string name="teamNameEmpty">Please enter team name</string>
|
||||||
<string name="teamNameError">Team name should contain only alphanumeric, dash (-), underscore (_) and dot (.) characters</string>
|
<string name="teamNameError">Team name should contain only alphanumeric, dash (-), underscore (_) and dot (.) characters</string>
|
||||||
<string name="teamPermissionEmpty">لطفا دسترسی را انتخاب کنید</string>
|
<string name="teamPermissionEmpty">Please select permission</string>
|
||||||
<string name="teamDescError">Team description have illegal characters</string>
|
<string name="teamDescError">Team description have illegal characters</string>
|
||||||
<string name="teamDescLimit">Team description have more than 100 characters</string>
|
<string name="teamDescLimit">Team description have more than 100 characters</string>
|
||||||
<string name="teamCreated">تیم با موفقیت ساخته شد</string>
|
<string name="teamCreated">Team created successfully</string>
|
||||||
<string name="teamCreatedError">مشکلی پیش آمد. لطفا دوباره تلاش کنید</string>
|
<string name="teamCreatedError">Something went wrong, please try again</string>
|
||||||
<!-- create team -->
|
<!-- create team -->
|
||||||
<!-- issue comments -->
|
<!-- issue comments -->
|
||||||
<string name="editCommentTitle">ویرایش دیدگاه</string>
|
<string name="editCommentTitle">Edit Comment</string>
|
||||||
<string name="editCommentButtonText">ویرایش</string>
|
<string name="editCommentButtonText">Edit</string>
|
||||||
<string name="editCommentUpdatedText">دیدگاه بهروزرسانی شد</string>
|
<string name="editCommentUpdatedText">بروز آوری نظر</string>
|
||||||
<string name="issueCommentShare">همرسانی دیدگاه</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
<string name="deleteCommentSuccess">دیدگاه با موفقیت حذف شد</string>
|
<string name="deleteCommentSuccess">Comment deleted successfully</string>
|
||||||
<string name="copyCommentText">روگیری دیدگاه</string>
|
<string name="copyCommentText">Copy Comment</string>
|
||||||
<!-- issue comments -->
|
<!-- issue comments -->
|
||||||
<!-- add collaborator -->
|
<!-- add collaborator -->
|
||||||
<string name="addCollaboratorTitle">افزودن / حذف همکار</string>
|
<string name="addCollaboratorTitle">حذف/اضافه مشارکت کننده</string>
|
||||||
<string name="addCollaboratorSearchHint">جستجوی کاربران</string>
|
<string name="addCollaboratorSearchHint">جستجوی کاربران</string>
|
||||||
<string name="addCollaboratorViewUserDesc">نام کاربری</string>
|
<string name="addCollaboratorViewUserDesc">نام کاربری</string>
|
||||||
<string name="removeCollaboratorTitle">حذف\u0020</string>
|
<string name="removeCollaboratorTitle">حذف\u0020</string>
|
||||||
<string name="removeCollaboratorMessage">آیا مایلید که این کاربر را از مخزن حذف کنید؟</string>
|
<string name="removeCollaboratorMessage">آیا مایلید که این کاربر را از مخزن حذف کنید?</string>
|
||||||
<string name="removeCollaboratorToastText">کاربر از مخزن حذف شد.</string>
|
<string name="removeCollaboratorToastText">کاربر از مخزن حذف شد.</string>
|
||||||
<string name="addCollaboratorToastText">کاربر به مخزن اضافه شد.</string>
|
<string name="addCollaboratorToastText">کاربر به مخزن اضافه شد.</string>
|
||||||
<!-- add collaborator -->
|
<!-- add collaborator -->
|
||||||
<!-- profile section -->
|
<!-- profile section -->
|
||||||
<string name="profileTabFollowers">دنبال کنندگان</string>
|
<string name="profileTabFollowers">دنبال کنندگان</string>
|
||||||
<string name="profileTabFollowing">درحال دنبال کردن</string>
|
<string name="profileTabFollowing">درحال دنبال کردن</string>
|
||||||
<string name="profileCreateNewEmailAddress">افزودن رایانامه</string>
|
<string name="profileCreateNewEmailAddress">افزدون پست الکترونیکی</string>
|
||||||
<string name="profileEmailButton">ذخیره</string>
|
<string name="profileEmailButton">ذخیره</string>
|
||||||
<string name="profileEmailTitle">نشانی رایانامه</string>
|
<string name="profileEmailTitle">نشانی ایمیل</string>
|
||||||
<string name="emailAddedText">رایانه جدید با موفقیت افزوده شد</string>
|
<string name="emailAddedText">New email added successfully</string>
|
||||||
<string name="emailErrorEmpty">نشانی رایانامه خالی است</string>
|
<string name="emailErrorEmpty">Email address is empty</string>
|
||||||
<string name="emailErrorInvalid">نشانی رایانامه نامعتبر است</string>
|
<string name="emailErrorInvalid">آدرس ایمیل معتبر نیست</string>
|
||||||
<string name="emailErrorInUse">نشانی رایانامه از قبل موجود است</string>
|
<string name="emailErrorInUse">این آدرس ایمیل پیش از این استفاده شده است</string>
|
||||||
<string name="emailTypeText">اصلی</string>
|
<string name="emailTypeText">اصلی</string>
|
||||||
<string name="profileTabEmails">ایمیلها</string>
|
<string name="profileTabEmails">ایمیلها</string>
|
||||||
<!-- profile section -->
|
<!-- profile section -->
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<string name="singleIssueEditLabels">افزودن / حذف برچسبها</string>
|
<string name="singleIssueEditLabels">Add / Remove Labels</string>
|
||||||
<string name="labelsUpdated">برچسبها بهروزرسانی شدند</string>
|
<string name="labelsUpdated">Labels updated</string>
|
||||||
<string name="closeIssue">بستن مسئله</string>
|
<string name="closeIssue">Close Issue</string>
|
||||||
<string name="editIssue">ویرایش مسئله</string>
|
<string name="editIssue">Edit Issue</string>
|
||||||
<string name="reOpenIssue">باز کردن دوباره مسئله</string>
|
<string name="reOpenIssue">Reopen Issue</string>
|
||||||
<string name="issueStateClosed">مسئله بسته شد</string>
|
<string name="issueStateClosed">Issue closed</string>
|
||||||
<string name="issueStateReopened">مسئله دوباره باز شد</string>
|
<string name="issueStateReopened">Issue reopened</string>
|
||||||
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
||||||
<string name="assigneesUpdated">Assignees updated</string>
|
<string name="assigneesUpdated">Assignees updated</string>
|
||||||
<string name="singleIssueSubscribe">مشترک شدن</string>
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
<string name="singleIssueUnSubscribe">لغو اشتراک</string>
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">ورودیها را انتخاب کنید</string>
|
<string name="select_entry">Select Entries</string>
|
||||||
<string name="please_select_atleast">Please select at least </string>
|
<string name="please_select_atleast">Please select at least </string>
|
||||||
<string name="you_can_only_select_upto">You can only select up to </string>
|
<string name="you_can_only_select_upto">You can only select up to </string>
|
||||||
<string name="option"> گزینه</string>
|
<string name="option"> option</string>
|
||||||
<string name="options"> گزینهها</string>
|
<string name="options"> options</string>
|
||||||
<string name="select_all">انتخاب همه</string>
|
<string name="select_all">Select all</string>
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="repoMetaData">Repository Meta</string>
|
<string name="repoMetaData">Repository Meta</string>
|
||||||
<!-- admin -->
|
<!-- admin -->
|
||||||
<string name="adminCreateNewUser">افزودن کاربر جدید</string>
|
<string name="adminCreateNewUser">Add New User</string>
|
||||||
<string name="adminUsers">کاربران سامانه</string>
|
<string name="adminUsers">System Users</string>
|
||||||
<string name="userRoleAdmin">مدیر</string>
|
<string name="userRoleAdmin">Admin</string>
|
||||||
<!-- admin -->
|
<!-- admin -->
|
||||||
<!-- create user -->
|
<!-- create user -->
|
||||||
<string name="userFullNameText">نام کامل</string>
|
<string name="userFullNameText">Full Name</string>
|
||||||
<string name="userEmail">رایانامه</string>
|
<string name="userEmail">Email</string>
|
||||||
<string name="userUserName">نام کاربری</string>
|
<string name="userUserName">Username</string>
|
||||||
<string name="userPassword">گذرواژه</string>
|
<string name="userPassword">Password</string>
|
||||||
<string name="userInvalidFullName">Invalid Full Name</string>
|
<string name="userInvalidFullName">Invalid Full Name</string>
|
||||||
<string name="userInvalidUserName">نام کاربری نامعتبر است</string>
|
<string name="userInvalidUserName">Invalid Username</string>
|
||||||
<string name="userInvalidEmail">رایانامه نامعتبر است</string>
|
<string name="userInvalidEmail">Invalid Email</string>
|
||||||
<string name="userCreatedText">New user added successfully</string>
|
<string name="userCreatedText">New user added successfully</string>
|
||||||
<string name="userExistsError">کاربر از قبل وجود دارد</string>
|
<string name="userExistsError">User already exists</string>
|
||||||
<!-- create user -->
|
<!-- create user -->
|
||||||
<!-- edit issue -->
|
<!-- edit issue -->
|
||||||
<string name="editIssueNavHeader">ویرایش مسئله #%1$s</string>
|
<string name="editIssueNavHeader">Edit Issue #%1$s</string>
|
||||||
<string name="editIssueSuccessMessage">مسئله بهروزرسانی شد</string>
|
<string name="editIssueSuccessMessage">Issue updated</string>
|
||||||
<!-- edit issue -->
|
<!-- edit issue -->
|
||||||
<!-- release -->
|
<!-- release -->
|
||||||
<string name="createRelease">انتشار جدید</string>
|
<string name="createRelease">New Release</string>
|
||||||
<string name="releaseTagNameText">نام برچسب</string>
|
<string name="releaseTagNameText">Tag Name</string>
|
||||||
<string name="releaseTitleText">عنوان</string>
|
<string name="releaseTitleText">Title</string>
|
||||||
<string name="releaseContentText">محتوا</string>
|
<string name="releaseContentText">Content</string>
|
||||||
<string name="releaseTypeText">نشان گذاری به عنوان پیش-انتشار</string>
|
<string name="releaseTypeText">Mark as Pre-Release</string>
|
||||||
<string name="releaseBranchText">انتخاب شاخه</string>
|
<string name="releaseBranchText">Select Branch</string>
|
||||||
<string name="releaseDraftText">پیش نویس</string>
|
<string name="releaseDraftText">Draft</string>
|
||||||
<string name="tagNameErrorEmpty">Tag name is empty</string>
|
<string name="tagNameErrorEmpty">Tag name is empty</string>
|
||||||
<string name="titleErrorEmpty">عنوان خالی است</string>
|
<string name="titleErrorEmpty">Title is empty</string>
|
||||||
<string name="releaseCreatedText">انتشار جدید ایجاد شد</string>
|
<string name="releaseCreatedText">New release created</string>
|
||||||
<!-- release -->
|
<!-- release -->
|
||||||
<string name="loginOTPTypeError">رمز OTP باید رقم باشد</string>
|
<string name="loginOTPTypeError">OTP code should be numbers</string>
|
||||||
<string name="loginOTP">رمز OTP (دلخواه)</string>
|
<string name="loginOTP">OTP Code (Optional)</string>
|
||||||
<string name="otpMessage">رمز OTP را در صورتی وارد کنید که تایید دو مرحلهای فعال شده باشد</string>
|
<string name="otpMessage">Enter otp code if 2FA is enabled</string>
|
||||||
<string name="openWebRepo">باز کردن در مرورگر</string>
|
<string name="openWebRepo">Open in Browser</string>
|
||||||
<string name="repoStargazersInMenu">Stargazers</string>
|
<string name="repoStargazersInMenu">Stargazers</string>
|
||||||
<string name="repoWatchersInMenu">Watchers</string>
|
<string name="repoWatchersInMenu">Watchers</string>
|
||||||
<string name="noDataWebsite">هیچ وبسایتی یافت نشد</string>
|
<string name="noDataWebsite">No website found</string>
|
||||||
<string name="noDataDescription">هیج توضیحی یافت نشد</string>
|
<string name="noDataDescription">No description found</string>
|
||||||
<string name="noDataLocation">هیچ مکانی یافت نشد</string>
|
<string name="noDataLocation">No location found</string>
|
||||||
<string name="starMember">Star</string>
|
<string name="starMember">Star</string>
|
||||||
<string name="watcherMember">Watcher</string>
|
<string name="watcherMember">Watcher</string>
|
||||||
<string name="zipArchiveDownloadReleasesTab">کد منبع (ZIP)</string>
|
<string name="zipArchiveDownloadReleasesTab">Source code (ZIP)</string>
|
||||||
<string name="tarArchiveDownloadReleasesTab">کد منبع (TAR.GZ)</string>
|
<string name="tarArchiveDownloadReleasesTab">Source code (TAR.GZ)</string>
|
||||||
<!-- new file -->
|
<!-- new file -->
|
||||||
<string name="newFileNameTintCopy">نام پرونده</string>
|
<string name="newFileNameTintCopy">File Name</string>
|
||||||
<string name="newFileBranchTintCopy">نام شاخه جدید</string>
|
<string name="newFileBranchTintCopy">New Branch Name</string>
|
||||||
<string name="newFileContentTintCopy">محتوای پرونده</string>
|
<string name="newFileContentTintCopy">File Content</string>
|
||||||
<string name="newFileButtonCopy">ایجاد پرونده جدید</string>
|
<string name="newFileButtonCopy">Create New File</string>
|
||||||
<string name="newFileNameHintMessage">with folder: app/test.md</string>
|
<string name="newFileNameHintMessage">with folder: app/test.md</string>
|
||||||
<string name="newFileMessageTintCopy">Commit Message</string>
|
<string name="newFileMessageTintCopy">Commit Message</string>
|
||||||
<string name="newFileInvalidBranchName">Invalid branch name, may only contain –, a–z, 0–9</string>
|
<string name="newFileInvalidBranchName">Invalid branch name, may only contain –, a–z, 0–9</string>
|
||||||
<string name="newFileCommitMessageError">Commit message is too long</string>
|
<string name="newFileCommitMessageError">Commit message is too long</string>
|
||||||
<string name="newFileSuccessMessage">پرونده جدید ایجاد شد</string>
|
<string name="newFileSuccessMessage">New file created</string>
|
||||||
<string name="newFileOldBranches">شاخههای کنونی</string>
|
<string name="newFileOldBranches">Current Branches</string>
|
||||||
<string name="newFileRequiredFields">Fields like filename, content and commit message are required</string>
|
<string name="newFileRequiredFields">Fields like filename, content and commit message are required</string>
|
||||||
<string name="newFileCurrentBranchMessage">Selecting current branch will disable new branch</string>
|
<string name="newFileCurrentBranchMessage">Selecting current branch will disable new branch</string>
|
||||||
<string name="newFileNewBranchMessage">برای مثال: شاخه-جدید</string>
|
<string name="newFileNewBranchMessage">e.g: new-branch</string>
|
||||||
<string name="newFileRequiredFieldNewBranchName">New branch name cannot be empty if current branch is not selected</string>
|
<string name="newFileRequiredFieldNewBranchName">New branch name cannot be empty if current branch is not selected</string>
|
||||||
<string name="strFilter">پالایه</string>
|
<string name="strFilter">Filter</string>
|
||||||
<string name="strSwitchBranches">شاخهها</string>
|
<string name="strSwitchBranches">Branches</string>
|
||||||
<string name="strMarkdown">Markdown</string>
|
<string name="strMarkdown">Markdown</string>
|
||||||
<string name="copyIssueUrl">روگیری نشانی مسئله</string>
|
<string name="copyIssueUrl">Copy Issue URL</string>
|
||||||
<string name="copyIssueUrlToastMsg">نشانی به کلیپبورد روگیری شد</string>
|
<string name="copyIssueUrlToastMsg">URL copied to clipboard</string>
|
||||||
<string name="copyIssueCommentToastMsg">دیدگاه به کلیپبورد روگیری شد</string>
|
<string name="copyIssueCommentToastMsg">Copied comment to clipboard</string>
|
||||||
<string name="milestoneCompletion">%1$d\uFF05 کامل شد</string>
|
<string name="milestoneCompletion">%1$d\uFF05 completed</string>
|
||||||
<!-- files -->
|
<!-- files -->
|
||||||
<string name="noDataFilesTab">هیچ پروندهای یافت نشد</string>
|
<string name="noDataFilesTab">No files found</string>
|
||||||
<string name="filesGenericError">Sorry this file cannot be viewed as API returned an error</string>
|
<string name="filesGenericError">Sorry this file cannot be viewed as API returned an error</string>
|
||||||
<string name="notSupported">پشتیبانی نمیشود</string>
|
<string name="notSupported">Not supported</string>
|
||||||
<!-- generic copy -->
|
<!-- generic copy -->
|
||||||
<string name="okButton">باشه</string>
|
<string name="okButton">OK</string>
|
||||||
<string name="doneButton">انجام شد</string>
|
<string name="doneButton">Done</string>
|
||||||
<string name="cancelButton">لغو</string>
|
<string name="cancelButton">Cancel</string>
|
||||||
<string name="genericError">Something went wrong, please try again</string>
|
<string name="genericError">Something went wrong, please try again</string>
|
||||||
<string name="apiNotFound">This request needs higher Gitea version than the one installed. Please upgrade your instance to the latest version of Gitea.</string>
|
<string name="apiNotFound">This request needs higher Gitea version than the one installed. Please upgrade your instance to the latest version of Gitea.</string>
|
||||||
<string name="noDataFound">هیچ دادهای یافت نشد</string>
|
<string name="noDataFound">No data found</string>
|
||||||
<string name="addButton">افزودن</string>
|
<string name="addButton">Add</string>
|
||||||
<string name="removeButton">حذف</string>
|
<string name="removeButton">Remove</string>
|
||||||
<string name="authorizeError">You are not authorized to perform this action.</string>
|
<string name="authorizeError">You are not authorized to perform this action.</string>
|
||||||
<string name="menuContentDesc">فهرست</string>
|
<string name="menuContentDesc">Menu</string>
|
||||||
<string name="menuEditText">ویرایش</string>
|
<string name="menuEditText">Edit</string>
|
||||||
<string name="menuDeleteText">حذف</string>
|
<string name="menuDeleteText">Delete</string>
|
||||||
<string name="menuCopyText">روگیری</string>
|
<string name="menuCopyText">Copy</string>
|
||||||
<string name="menuQuoteText">بازگفت و پاسخ</string>
|
<string name="menuQuoteText">Quote and Reply</string>
|
||||||
<string name="modifiedText">ویرایش شد</string>
|
<string name="modifiedText">edited</string>
|
||||||
<string name="saveButton">ذخیره</string>
|
<string name="saveButton">Save</string>
|
||||||
<string name="websiteText">وبسایت</string>
|
<string name="websiteText">Website</string>
|
||||||
<string name="locationText">مکان</string>
|
<string name="locationText">Location</string>
|
||||||
<string name="characters255Limit">حداکثر 255 کاراکتر</string>
|
<string name="characters255Limit">حداکثر 255 کاراکتر</string>
|
||||||
<string name="emptyFields">همه زمینهها ضروری هستند</string>
|
<string name="emptyFields">All fields are required</string>
|
||||||
<string name="textContinue">ادامه</string>
|
<string name="textContinue">Continue</string>
|
||||||
<string name="copyToken">توکن</string>
|
<string name="copyToken">Token</string>
|
||||||
<string name="viewInBrowser">مشاهده در مرورگر</string>
|
<string name="viewInBrowser">View in Browser</string>
|
||||||
<string name="isOpen">گشوده</string>
|
<string name="isOpen">Open</string>
|
||||||
<string name="isClosed">بسته</string>
|
<string name="isClosed">Closed</string>
|
||||||
<string name="genericServerResponseError">We cannot reach the server at the moment, please check your server status and try again</string>
|
<string name="genericServerResponseError">We cannot reach the server at the moment, please check your server status and try again</string>
|
||||||
<string name="genericCopyUrl">روگیری نشانی</string>
|
<string name="genericCopyUrl">Copy URL</string>
|
||||||
<!-- generic copy -->
|
<!-- generic copy -->
|
||||||
<string name="exploreTextBoxHint">کشف مخزنها</string>
|
<string name="exploreTextBoxHint">Explore repositories</string>
|
||||||
<string name="starRepository">Star Repository</string>
|
<string name="starRepository">Star Repository</string>
|
||||||
<string name="unStarRepository">Unstar Repository</string>
|
<string name="unStarRepository">Unstar Repository</string>
|
||||||
<string name="starRepositorySuccess">Repository added to starred list</string>
|
<string name="starRepositorySuccess">Repository added to starred list</string>
|
||||||
@ -442,53 +442,53 @@
|
|||||||
<string name="unWatchRepository">Unwatch Repository</string>
|
<string name="unWatchRepository">Unwatch Repository</string>
|
||||||
<string name="watchRepositorySuccess">Repository added to watch list</string>
|
<string name="watchRepositorySuccess">Repository added to watch list</string>
|
||||||
<string name="unWatchRepositorySuccess">Repository removed from watch list</string>
|
<string name="unWatchRepositorySuccess">Repository removed from watch list</string>
|
||||||
<string name="titleDrafts">پیش نویسها</string>
|
<string name="titleDrafts">Drafts</string>
|
||||||
<string name="versionUnsupportedOld">Unsupported old version(%1$s) of Gitea detected. Please update to latest stable version. If you continue, the app may not function properly</string>
|
<string name="versionUnsupportedOld">Unsupported old version(%1$s) of Gitea detected. Please update to latest stable version. If you continue, the app may not function properly</string>
|
||||||
<string name="versionUnsupportedNew">New Gitea version detected! Please UPDATE GitNex!</string>
|
<string name="versionUnsupportedNew">New Gitea version detected! Please UPDATE GitNex!</string>
|
||||||
<string name="versionUnknown">هیچ Gitea تشخیص داده نشد!</string>
|
<string name="versionUnknown">No Gitea detected!</string>
|
||||||
<string name="versionAlertDialogHeader">نگارش پشتیبانی نشده Gitea</string>
|
<string name="versionAlertDialogHeader">Unsupported Version of Gitea</string>
|
||||||
<string name="loginViaPassword">نام کاربری / گذرواژه</string>
|
<string name="loginViaPassword">Username / Password</string>
|
||||||
<string name="loginMethodText">Choose your preferred login method to access your account. Token is more secure!</string>
|
<string name="loginMethodText">Choose your preferred login method to access your account. Token is more secure!</string>
|
||||||
<string name="unauthorizedApiError">Instance has returned an error - Unauthorized. Check your credentials and try again</string>
|
<string name="unauthorizedApiError">Instance has returned an error - Unauthorized. Check your credentials and try again</string>
|
||||||
<string name="loginTokenError">توکن الزامی است</string>
|
<string name="loginTokenError">Token is required</string>
|
||||||
<string name="prDeletedFrok">انشعاب پاک شده</string>
|
<string name="prDeletedFrok">Deleted Fork</string>
|
||||||
<string name="noDataPullRequests">No pull requests found</string>
|
<string name="noDataPullRequests">No pull requests found</string>
|
||||||
<string name="prCreator">سازنده :\u0020</string>
|
<string name="prCreator">Creator :\u0020</string>
|
||||||
<string name="editPrText">ویرایش درخواست ادغام</string>
|
<string name="editPrText">Edit Pull Request</string>
|
||||||
<string name="copyPrUrlText">Copy Pull Request URL</string>
|
<string name="copyPrUrlText">Copy Pull Request URL</string>
|
||||||
<string name="editPrNavHeader">Edit Pull Request #%1$s</string>
|
<string name="editPrNavHeader">Edit Pull Request #%1$s</string>
|
||||||
<string name="editPrSuccessMessage">Pull Request updated</string>
|
<string name="editPrSuccessMessage">Pull Request updated</string>
|
||||||
<string name="fileDiffViewHeader">%1$s پرونده تغییر یافت</string>
|
<string name="fileDiffViewHeader">%1$s Files Changed</string>
|
||||||
<string name="fileDiffViewHeaderSingle">%1$s پرونده تغییر یافت</string>
|
<string name="fileDiffViewHeaderSingle">%1$s File Changed</string>
|
||||||
<string name="openFileDiffText">پروندههای تغییر یافته</string>
|
<string name="openFileDiffText">Files Changed</string>
|
||||||
<string name="mergePullRequestText">Merge Pull Request</string>
|
<string name="mergePullRequestText">Merge Pull Request</string>
|
||||||
<string name="mergePullRequestButtonText">ادغام</string>
|
<string name="mergePullRequestButtonText">Merge</string>
|
||||||
<string name="deleteBranchAfterMerge">حذف شاخه بعد از ادغام</string>
|
<string name="deleteBranchAfterMerge">Delete branch after merge</string>
|
||||||
<string name="mergeNoteText">Merge may fail if you are not authorized to merge this Pull Request.</string>
|
<string name="mergeNoteText">Merge may fail if you are not authorized to merge this Pull Request.</string>
|
||||||
<string name="mergeInfoDisabledMessage">Disabled Merge button means that there are conflicts OR other things to fix before Merge</string>
|
<string name="mergeInfoDisabledMessage">Disabled Merge button means that there are conflicts OR other things to fix before Merge</string>
|
||||||
<string name="deleteBranchForkInfo">این شاخه متعلق به یک مخزن انشعاب یافته است</string>
|
<string name="deleteBranchForkInfo">This branch belong to a forked repository</string>
|
||||||
<string name="mergeCommentText">ادغام دیدگاه</string>
|
<string name="mergeCommentText">Merge comment</string>
|
||||||
<string name="mergePRSuccessMsg">Pull Request was merged successfully</string>
|
<string name="mergePRSuccessMsg">Pull Request was merged successfully</string>
|
||||||
<string name="mergePR404ErrorMsg">Pull Request is not available for merge</string>
|
<string name="mergePR404ErrorMsg">Pull Request is not available for merge</string>
|
||||||
<string name="mergeOptionMerge">ادغام تقاضای واکشی</string>
|
<string name="mergeOptionMerge">ادغام تقاضای واکشی</string>
|
||||||
<string name="mergeOptionRebase">بازگردانی و ادغام</string>
|
<string name="mergeOptionRebase">بازگردانی و ادغام</string>
|
||||||
<string name="mergeOptionRebaseCommit">بازگردانی و ادغام (--no-ff)</string>
|
<string name="mergeOptionRebaseCommit">بازگردانی و ادغام (--no-ff)</string>
|
||||||
<string name="mergeOptionSquash">له کردن و ادغام</string>
|
<string name="mergeOptionSquash">له کردن و ادغام</string>
|
||||||
<string name="mergeStrategy">راهبرد ادغام</string>
|
<string name="mergeStrategy">Merge Strategy</string>
|
||||||
<string name="selectMergeStrategy">انتخاب راهبرد ادغام</string>
|
<string name="selectMergeStrategy">Select merge strategy</string>
|
||||||
<string name="mergeNotAllowed">Not allowed to merge [Reason: Does not have enough approvals]</string>
|
<string name="mergeNotAllowed">Not allowed to merge [Reason: Does not have enough approvals]</string>
|
||||||
<string name="downloadFile">بارگیری این پرونده</string>
|
<string name="downloadFile">Download This File</string>
|
||||||
<string name="waitLoadingDownloadFile">لطفا منتظر بمانید تا پرونده در حافظه بارگذاری شود</string>
|
<string name="waitLoadingDownloadFile">Please wait for the file to load to memory</string>
|
||||||
<string name="downloadFileSaved">پرونده با موفقیت ذخیره شد</string>
|
<string name="downloadFileSaved">File saved successfully</string>
|
||||||
<string name="excludeFilesInFileviewer">This file type is not supported in file viewer. Download it instead from the three dotted menu?</string>
|
<string name="excludeFilesInFileviewer">This file type is not supported in file viewer. Download it instead from the three dotted menu?</string>
|
||||||
<string name="deleteFile">حذف این پرونده</string>
|
<string name="deleteFile">Delete This File</string>
|
||||||
<string name="editFile">ویرایش این پرونده</string>
|
<string name="editFile">Edit This File</string>
|
||||||
<string name="deleteFileText">حذف %1$s</string>
|
<string name="deleteFileText">Delete %1$s</string>
|
||||||
<string name="deleteFileMessage">File is set for deletion by branch %1$s</string>
|
<string name="deleteFileMessage">File is set for deletion by branch %1$s</string>
|
||||||
<string name="editFileText">ویرایش %1$s</string>
|
<string name="editFileText">Edit %1$s</string>
|
||||||
<string name="editFileMessage">پرونده توسط شاخه %1$s تغییر یافت</string>
|
<string name="editFileMessage">File is modified by branch %1$s</string>
|
||||||
<string name="sizeCopy">اندازه</string>
|
<string name="sizeCopy">Size</string>
|
||||||
<string name="shareIssue">همرسانی مسئله</string>
|
<string name="shareIssue">Share Issue</string>
|
||||||
<string name="sharePr">Share Pull Request</string>
|
<string name="sharePr">Share Pull Request</string>
|
||||||
<string name="shareRepository">Share Repository</string>
|
<string name="shareRepository">Share Repository</string>
|
||||||
<string name="createRepository">Create Repository</string>
|
<string name="createRepository">Create Repository</string>
|
||||||
@ -503,76 +503,76 @@
|
|||||||
<string name="mtm_accept_server_name">Accept Mismatching Server Name?</string>
|
<string name="mtm_accept_server_name">Accept Mismatching Server Name?</string>
|
||||||
<string name="mtm_hostname_mismatch">Server could not authenticate as \"%s\". The certificate is only valid for:</string>
|
<string name="mtm_hostname_mismatch">Server could not authenticate as \"%s\". The certificate is only valid for:</string>
|
||||||
<string name="mtm_connect_anyway">Do you want to connect anyway?</string>
|
<string name="mtm_connect_anyway">Do you want to connect anyway?</string>
|
||||||
<string name="mtm_cert_details">جزئیات گواهی:</string>
|
<string name="mtm_cert_details">Certificate details:</string>
|
||||||
<string name="mtm_decision_always">Trust</string>
|
<string name="mtm_decision_always">Trust</string>
|
||||||
<string name="mtm_decision_abort">انصراف</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="subscribedSuccessfully">با موفقیت مشترک شد</string>
|
<string name="subscribedSuccessfully">Subscribed successfully</string>
|
||||||
<string name="alreadySubscribed">You have already subscribed</string>
|
<string name="alreadySubscribed">You have already subscribed</string>
|
||||||
<string name="subscriptionError">Subscription failed</string>
|
<string name="subscriptionError">Subscription failed</string>
|
||||||
<string name="unsubscribedSuccessfully">اشتراک با موفقیت لغو شد</string>
|
<string name="unsubscribedSuccessfully">Unsubscribed successfully</string>
|
||||||
<string name="alreadyUnsubscribed">You have already Unsubscribed</string>
|
<string name="alreadyUnsubscribed">You have already Unsubscribed</string>
|
||||||
<string name="unsubscriptionError">لغو اشتراک شکست خورد</string>
|
<string name="unsubscriptionError">Un-Subscription failed</string>
|
||||||
<string name="closeMilestone">بستن نقطه عطف</string>
|
<string name="closeMilestone">Close Milestone</string>
|
||||||
<string name="openMilestone">باز کردن نقطه عطف</string>
|
<string name="openMilestone">Open Milestone</string>
|
||||||
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
<string name="milestoneStatusUpdate">Milestone status updated successfully</string>
|
||||||
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
<string name="errorOnLogin">We cannot reach the server, please check your server status</string>
|
||||||
<string name="reportViewerHeader">گزارشهای خرابی</string>
|
<string name="reportViewerHeader">Crash Reports</string>
|
||||||
<string name="settingsEnableReportsText">فعالسازی گزارشهای خرابی</string>
|
<string name="settingsEnableReportsText">Enable Crash Reports</string>
|
||||||
<string name="crashTitle">GitNex متوقف شد :(</string>
|
<string name="crashTitle">GitNex has stopped :(</string>
|
||||||
<string name="setCrashReports">گزارشهای خرابی</string>
|
<string name="setCrashReports">Crash reports</string>
|
||||||
<string name="crashMessage">It is encouraged to open an issue at the project repository with how to reproduce this bug. It is easier to debug and fix the problem that way.\n\nTap the OK button to send the crash report by email instead. Additional content could be added in the email.\nThank you!</string>
|
<string name="crashMessage">It is encouraged to open an issue at the project repository with how to reproduce this bug. It is easier to debug and fix the problem that way.\n\nTap the OK button to send the crash report by email instead. Additional content could be added in the email.\nThank you!</string>
|
||||||
<string name="forceLogoutDialogHeader">لطفا دوباره وارد حساب شوید</string>
|
<string name="forceLogoutDialogHeader">Please sign in again</string>
|
||||||
<string name="forceLogoutDialogDescription">Due to some major changes regarding the internal functioning of the app, we require you to login again. These changes allow us to make the app more flexible in the future.\n\nThank you for your patience and sorry for the inconvenience.</string>
|
<string name="forceLogoutDialogDescription">Due to some major changes regarding the internal functioning of the app, we require you to login again. These changes allow us to make the app more flexible in the future.\n\nThank you for your patience and sorry for the inconvenience.</string>
|
||||||
<string name="deleteAllDrafts">حذف همه پیش نویسها</string>
|
<string name="deleteAllDrafts">Delete All Drafts</string>
|
||||||
<string name="draftsListEmpty">هیچ پیش نویسی یافت نشد</string>
|
<string name="draftsListEmpty">No drafts found</string>
|
||||||
<string name="draftsDeleteSuccess">پیش نویسها با موفقیت حذف شدند</string>
|
<string name="draftsDeleteSuccess">Drafts deleted successfully</string>
|
||||||
<string name="draftsSingleDeleteSuccess">پیش نویس با موفقیت حذف شد</string>
|
<string name="draftsSingleDeleteSuccess">Draft deleted successfully</string>
|
||||||
<string name="deleteAllDraftsDialogMessage">This will delete all the drafts for this account. \n\nProceed with deletion?</string>
|
<string name="deleteAllDraftsDialogMessage">This will delete all the drafts for this account. \n\nProceed with deletion?</string>
|
||||||
<string name="draftSaved">پیش نویس خودکار ذخیره شد.</string>
|
<string name="draftSaved">Draft was saved automatically.</string>
|
||||||
<string name="appearanceHintText">پوستهها، فونتها، نشانگرها</string>
|
<string name="appearanceHintText">Themes, fonts, badges</string>
|
||||||
<string name="fileViewerHintText">حالت PDF، پوسته کد منبع</string>
|
<string name="fileViewerHintText">PDF mode, source code theme</string>
|
||||||
<string name="securityHintText">SSL certificates, cache</string>
|
<string name="securityHintText">SSL certificates, cache</string>
|
||||||
<string name="languagesHintText">زبانها</string>
|
<string name="languagesHintText">Languages</string>
|
||||||
<string name="reportsHintText">گزارشهای خرابی</string>
|
<string name="reportsHintText">Crash reports</string>
|
||||||
<string name="rateAppHintText">اگر GitNex را میپسندید میتوانید به آن امتیاز دهید</string>
|
<string name="rateAppHintText">If you like GitNex you can give it a thumbs up</string>
|
||||||
<string name="aboutAppHintText">نگارش برنامه، ساختن، نگارش gitea کاربر</string>
|
<string name="aboutAppHintText">App version, build, user gitea version</string>
|
||||||
<string name="archivedRepository">بایگانی شده</string>
|
<string name="archivedRepository">Archived</string>
|
||||||
<string name="accountDeletedMessage">حساب کاربری با موفقیت حذف شد</string>
|
<string name="accountDeletedMessage">Account deleted successfully</string>
|
||||||
<string name="removeAccountPopupTitle">حذف حساب</string>
|
<string name="removeAccountPopupTitle">Remove Account</string>
|
||||||
<string name="removeAccountPopupMessage">Are you sure you want to remove this account from the app?\n\nThis will remove all the data related to this account on the app only.</string>
|
<string name="removeAccountPopupMessage">Are you sure you want to remove this account from the app?\n\nThis will remove all the data related to this account on the app only.</string>
|
||||||
<string name="addNewAccount">حساب جدید</string>
|
<string name="addNewAccount">New Account</string>
|
||||||
<string name="addNewAccountText">افزودن حساب جدید</string>
|
<string name="addNewAccountText">Add New Account</string>
|
||||||
<string name="accountAlreadyExistsError">Account already exists in the app</string>
|
<string name="accountAlreadyExistsError">Account already exists in the app</string>
|
||||||
<string name="accountAddedMessage">حساب کاربری با موفقیت افزوده شد</string>
|
<string name="accountAddedMessage">Account added successfully</string>
|
||||||
<string name="switchAccountSuccess">Switched to account : %1$s@%2$s</string>
|
<string name="switchAccountSuccess">Switched to account : %1$s@%2$s</string>
|
||||||
<!-- Notifications -->
|
<!-- Notifications -->
|
||||||
<string name="pageTitleNotifications">آگاهیها</string>
|
<string name="pageTitleNotifications">Notifications</string>
|
||||||
<string name="noDataNotifications">هیچ آگاهی یافت نشد</string>
|
<string name="noDataNotifications">No notifications found</string>
|
||||||
<string name="notificationsPollingHeaderText">Notifications Polling Delay</string>
|
<string name="notificationsPollingHeaderText">Notifications Polling Delay</string>
|
||||||
<string name="pollingDelaySelectedText">%d دقیقه</string>
|
<string name="pollingDelaySelectedText">%d Minutes</string>
|
||||||
<string name="pollingDelayDialogHeaderText">Select Polling Delay</string>
|
<string name="pollingDelayDialogHeaderText">Select Polling Delay</string>
|
||||||
<string name="pollingDelayDialogDescriptionText">Choose a minutely delay in which GitNex tries to poll new notifications</string>
|
<string name="pollingDelayDialogDescriptionText">Choose a minutely delay in which GitNex tries to poll new notifications</string>
|
||||||
<string name="markAsRead">نشانگذاری بهعنوان خوانده شده</string>
|
<string name="markAsRead">Mark as Read</string>
|
||||||
<string name="markAsUnread">نشانگذاری بهعنوان خوانده نشده</string>
|
<string name="markAsUnread">Mark as Unread</string>
|
||||||
<string name="pinNotification">Pin Notification</string>
|
<string name="pinNotification">Pin Notification</string>
|
||||||
<string name="markedNotificationsAsRead">Successfully marked all notifications as read</string>
|
<string name="markedNotificationsAsRead">Successfully marked all notifications as read</string>
|
||||||
<string name="notificationsHintText">Polling delay, light, vibration</string>
|
<string name="notificationsHintText">Polling delay, light, vibration</string>
|
||||||
<string name="enableNotificationsHeaderText">فعالسازی آگاهیها</string>
|
<string name="enableNotificationsHeaderText">Enable Notifications</string>
|
||||||
<string name="enableLightsHeaderText">Enable Light</string>
|
<string name="enableLightsHeaderText">Enable Light</string>
|
||||||
<string name="enableVibrationHeaderText">فعالسازی لرزش</string>
|
<string name="enableVibrationHeaderText">Enable Vibration</string>
|
||||||
<string name="chooseColorSelectorHeader">انتخاب رنگ</string>
|
<string name="chooseColorSelectorHeader">Choose Color</string>
|
||||||
<string name="newMessages">پیامهای جدید</string>
|
<string name="newMessages">New messages</string>
|
||||||
<string name="youHaveGotNewNotifications">You\'ve got %d new notifications.</string>
|
<string name="youHaveGotNewNotifications">You\'ve got %d new notifications.</string>
|
||||||
<string name="isRead">خوانده شده</string>
|
<string name="isRead">Read</string>
|
||||||
<string name="isUnread">خوانده نشده</string>
|
<string name="isUnread">Unread</string>
|
||||||
<string name="repoSettingsTitle">تنظیمات مخزن</string>
|
<string name="repoSettingsTitle">Repository Settings</string>
|
||||||
<string name="repoSettingsEditProperties">Edit Properties</string>
|
<string name="repoSettingsEditProperties">Edit Properties</string>
|
||||||
<string name="repoSettingsDelete">حذف مخزن</string>
|
<string name="repoSettingsDelete">Delete Repository</string>
|
||||||
<string name="repoSettingsDeleteHint">Be careful, this operation CANNOT be undone!</string>
|
<string name="repoSettingsDeleteHint">Be careful, this operation CANNOT be undone!</string>
|
||||||
<string name="repoPropertiesTemplate">Set as Template</string>
|
<string name="repoPropertiesTemplate">Set as Template</string>
|
||||||
<string name="repoPropertiesEnableIssues">فعالسازی مسئلهها</string>
|
<string name="repoPropertiesEnableIssues">Enable Issues</string>
|
||||||
<string name="repoPropertiesExternalIssuesUrl">External Issue Tracker Url</string>
|
<string name="repoPropertiesExternalIssuesUrl">External Issue Tracker Url</string>
|
||||||
<string name="repoPropertiesEnableWiki">فعالسازی دانشنامه</string>
|
<string name="repoPropertiesEnableWiki">Enable Wiki</string>
|
||||||
<string name="repoPropertiesExternalWikiUrl">External Wiki Url</string>
|
<string name="repoPropertiesExternalWikiUrl">External Wiki Url</string>
|
||||||
<string name="repoPropertiesEnablePr">Enable Pull Requests</string>
|
<string name="repoPropertiesEnablePr">Enable Pull Requests</string>
|
||||||
<string name="repoPropertiesEnableTimeTracker">Enable Time Tracker</string>
|
<string name="repoPropertiesEnableTimeTracker">Enable Time Tracker</string>
|
||||||
@ -583,35 +583,35 @@
|
|||||||
<string name="repoPropertiesSaveSuccess">Repository properties updated successfully</string>
|
<string name="repoPropertiesSaveSuccess">Repository properties updated successfully</string>
|
||||||
<string name="repoSettingsDeleteDescription">Things to know before deletion:\n\n- This operation CANNOT be undone.\n- This operation will permanently delete the repository including code, issues, comments, wiki data and collaborator settings.\n\nEnter the repository name as confirmation</string>
|
<string name="repoSettingsDeleteDescription">Things to know before deletion:\n\n- This operation CANNOT be undone.\n- This operation will permanently delete the repository including code, issues, comments, wiki data and collaborator settings.\n\nEnter the repository name as confirmation</string>
|
||||||
<string name="repoSettingsDeleteError">Repository name does not match</string>
|
<string name="repoSettingsDeleteError">Repository name does not match</string>
|
||||||
<string name="repoDeletionSuccess">مخزن با موفقیت حذف شد</string>
|
<string name="repoDeletionSuccess">Repository deleted successfully</string>
|
||||||
<string name="repoSettingsTransferOwnership">انتقال مالکیت</string>
|
<string name="repoSettingsTransferOwnership">Transfer Ownership</string>
|
||||||
<string name="repoSettingsTransferOwnershipHint">Transfer this repository to a user or to an organization for which you have administrator rights</string>
|
<string name="repoSettingsTransferOwnershipHint">Transfer this repository to a user or to an organization for which you have administrator rights</string>
|
||||||
<string name="repoSettingsTransferOwnershipDescription">Things to know before transfer:\n\n- You will lose access to the repository if you transfer it to an individual user.\n- You will keep access to the repository if you transfer it to an organization that you (co-)own.\n\nEnter the repository name as confirmation</string>
|
<string name="repoSettingsTransferOwnershipDescription">Things to know before transfer:\n\n- You will lose access to the repository if you transfer it to an individual user.\n- You will keep access to the repository if you transfer it to an organization that you (co-)own.\n\nEnter the repository name as confirmation</string>
|
||||||
<string name="repoTransferText">Perform Transfer</string>
|
<string name="repoTransferText">Perform Transfer</string>
|
||||||
<string name="repoTransferOwnerText">مالک جدید</string>
|
<string name="repoTransferOwnerText">New Owner</string>
|
||||||
<string name="repoTransferSuccess">Repository transferred successfully</string>
|
<string name="repoTransferSuccess">Repository transferred successfully</string>
|
||||||
<string name="repoTransferOwnerError">مالک جدید الزامی است</string>
|
<string name="repoTransferOwnerError">New owner is required</string>
|
||||||
<string name="repoTransferError">There is a problem with the owner name. Make sure that the new owner exists</string>
|
<string name="repoTransferError">There is a problem with the owner name. Make sure that the new owner exists</string>
|
||||||
<string name="exploreFilterDialogTitle">Filter Repositories</string>
|
<string name="exploreFilterDialogTitle">Filter Repositories</string>
|
||||||
<string name="exploreFilterIncludeTopic">Search ONLY in Topic</string>
|
<string name="exploreFilterIncludeTopic">Search ONLY in Topic</string>
|
||||||
<string name="exploreFilterIncludeDesc">Search in Description</string>
|
<string name="exploreFilterIncludeDesc">Search in Description</string>
|
||||||
<string name="exploreFilterIncludeArchive">تنها مخزنهای بایگانی شده</string>
|
<string name="exploreFilterIncludeArchive">Only Archived Repositories</string>
|
||||||
<string name="exploreFilterIncludePrivate">تنها مخزنهای خصوصی</string>
|
<string name="exploreFilterIncludePrivate">Only Private Repositories</string>
|
||||||
<string name="exploreFilterIncludeTemplateRepos">Search in Template Repositories</string>
|
<string name="exploreFilterIncludeTemplateRepos">Search in Template Repositories</string>
|
||||||
<string name="mergeIntoBranch">Merge Into</string>
|
<string name="mergeIntoBranch">Merge Into</string>
|
||||||
<string name="pullFromBranch">Pull From</string>
|
<string name="pullFromBranch">Pull From</string>
|
||||||
<string name="sameBranchesError">These branches are equal. There is no need to create a pull request</string>
|
<string name="sameBranchesError">These branches are equal. There is no need to create a pull request</string>
|
||||||
<string name="mergeIntoError">Merge into branch is required</string>
|
<string name="mergeIntoError">Merge into branch is required</string>
|
||||||
<string name="pullFromError">Pull from branch is required</string>
|
<string name="pullFromError">Pull from branch is required</string>
|
||||||
<string name="titleError">عنوان الزامی است</string>
|
<string name="titleError">Title is required</string>
|
||||||
<string name="prCreateSuccess">Pull Request created successfully</string>
|
<string name="prCreateSuccess">Pull Request created successfully</string>
|
||||||
<string name="prAlreadyExists">A pull request between these branches already exists</string>
|
<string name="prAlreadyExists">A pull request between these branches already exists</string>
|
||||||
<string name="accountDoesNotExist">It seems that account for URI %1$s does not exists in the app. You can add one by tapping on the Add New Account button.</string>
|
<string name="accountDoesNotExist">It seems that account for URI %1$s does not exists in the app. You can add one by tapping on the Add New Account button.</string>
|
||||||
<string name="launchApp">برو به برنامه</string>
|
<string name="launchApp">Go to App</string>
|
||||||
<string name="noActionText">GitNex cannot handle the requested resource, you can open an issue at the project repository as an improvement with providing details of the work. Just launch a default screen for now from the buttons below, it can be changed from settings.</string>
|
<string name="noActionText">GitNex cannot handle the requested resource, you can open an issue at the project repository as an improvement with providing details of the work. Just launch a default screen for now from the buttons below, it can be changed from settings.</string>
|
||||||
<string name="codeBlockGreenOnBlack">سبز روی سیاه</string>
|
<string name="codeBlockGreenOnBlack">Green on Black</string>
|
||||||
<string name="codeBlockWhiteOnBlack">سفید روی سیاه</string>
|
<string name="codeBlockWhiteOnBlack">White on Black</string>
|
||||||
<string name="codeBlockGreyOnBlack">خاکستری روی سیاه</string>
|
<string name="codeBlockGreyOnBlack">Grey on Black</string>
|
||||||
<string name="codeBlockWhiteOnGrey">سفید روی خاکستری</string>
|
<string name="codeBlockWhiteOnGrey">White on Grey</string>
|
||||||
<string name="codeBlockDarkOnWhite">تیره روی سفید</string>
|
<string name="codeBlockDarkOnWhite">Dark on White</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
<string name="navRate">Oceń GitNex</string>
|
<string name="navRate">Oceń GitNex</string>
|
||||||
<string name="navLogout">Wyloguj się</string>
|
<string name="navLogout">Wyloguj się</string>
|
||||||
<string name="navExplore">Przeglądaj</string>
|
<string name="navExplore">Przeglądaj</string>
|
||||||
<string name="navAdministration">Administracja</string>
|
<string name="navAdministration">Administration</string>
|
||||||
<string name="navSearchIssuesPulls">Wyszukaj problemy</string>
|
<string name="navSearchIssuesPulls">Search Issues</string>
|
||||||
<!-- menu items -->
|
<!-- menu items -->
|
||||||
<!-- page titles -->
|
<!-- page titles -->
|
||||||
<string name="pageTitleAbout">O programie</string>
|
<string name="pageTitleAbout">O programie</string>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<string name="navigation_drawer_open">Otwórz szufladę nawigacji</string>
|
<string name="navigation_drawer_open">Otwórz szufladę nawigacji</string>
|
||||||
<string name="navigation_drawer_close">Zamknij szufladę nawigacji</string>
|
<string name="navigation_drawer_close">Zamknij szufladę nawigacji</string>
|
||||||
<string name="logo">Zaloguj się do Gitea</string>
|
<string name="logo">Zaloguj się do Gitea</string>
|
||||||
<string name="protocol">Protokół</string>
|
<string name="protocol">Protocol</string>
|
||||||
<string name="urlInfoTooltip">1- Wybierz poprawny protokół (https lub http). \n2- Wprowadź adres URL Gitea np: try.gitea.io. \n3- Jeśli włączyłeś 2FA dla swojego konta, wprowadź kod w polu OTP Code. \n4 - Dla podstawowej autoryzacji HTTP użyj NAZWAUŻYTKOWNIKA@STRONA.PL w polu URL.</string>
|
<string name="urlInfoTooltip">1- Wybierz poprawny protokół (https lub http). \n2- Wprowadź adres URL Gitea np: try.gitea.io. \n3- Jeśli włączyłeś 2FA dla swojego konta, wprowadź kod w polu OTP Code. \n4 - Dla podstawowej autoryzacji HTTP użyj NAZWAUŻYTKOWNIKA@STRONA.PL w polu URL.</string>
|
||||||
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors</string>
|
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors</string>
|
||||||
<string name="protocolError">It is not recommended to use HTTP protocol unless you are testing on local network</string>
|
<string name="protocolError">It is not recommended to use HTTP protocol unless you are testing on local network</string>
|
||||||
@ -201,14 +201,14 @@
|
|||||||
<string name="cacheSizeDataSelectionHeaderText">Data Cache Size</string>
|
<string name="cacheSizeDataSelectionHeaderText">Data Cache Size</string>
|
||||||
<string name="cacheSizeImagesDialogHeader">Images Cache Size</string>
|
<string name="cacheSizeImagesDialogHeader">Images Cache Size</string>
|
||||||
<string name="cacheSizeImagesSelectionHeaderText">Images Cache Size</string>
|
<string name="cacheSizeImagesSelectionHeaderText">Images Cache Size</string>
|
||||||
<string name="clearCacheSelectionHeaderText">Czyść Cache</string>
|
<string name="clearCacheSelectionHeaderText">Clear Cache</string>
|
||||||
<string name="clearCacheDialogHeader">Wyczyścić pamięć podręczną?</string>
|
<string name="clearCacheDialogHeader">Clear Cache?</string>
|
||||||
<string name="clearCacheDialogMessage">This will delete all the cache data including files and images.\n\nProceed with deletion?</string>
|
<string name="clearCacheDialogMessage">This will delete all the cache data including files and images.\n\nProceed with deletion?</string>
|
||||||
<string name="draftsHeader">Drafts</string>
|
<string name="draftsHeader">Drafts</string>
|
||||||
<string name="draftsHintText">Comments draft</string>
|
<string name="draftsHintText">Comments draft</string>
|
||||||
<string name="settingsEnableCommentsDeletionText">Enable Drafts Deletion</string>
|
<string name="settingsEnableCommentsDeletionText">Enable Drafts Deletion</string>
|
||||||
<string name="settingsEnableCommentsDeletionHintText">Delete comment draft when comment is posted</string>
|
<string name="settingsEnableCommentsDeletionHintText">Delete comment draft when comment is posted</string>
|
||||||
<string name="settingsGeneralHeader">Ogólne</string>
|
<string name="settingsGeneralHeader">General</string>
|
||||||
<string name="generalHintText">Home screen, default link handler</string>
|
<string name="generalHintText">Home screen, default link handler</string>
|
||||||
<string name="generalDeepLinkDefaultScreen">Default Link Handler</string>
|
<string name="generalDeepLinkDefaultScreen">Default Link Handler</string>
|
||||||
<string name="generalDeepLinkDefaultScreenHintText">Choose what screen should be loaded if the app cannot handle external links. It will redirect you automatically.</string>
|
<string name="generalDeepLinkDefaultScreenHintText">Choose what screen should be loaded if the app cannot handle external links. It will redirect you automatically.</string>
|
||||||
@ -255,8 +255,8 @@
|
|||||||
<string name="orgMember">Członkowie organizacji</string>
|
<string name="orgMember">Członkowie organizacji</string>
|
||||||
<string name="orgTeamMembers">Członkowie zespołu organizacji</string>
|
<string name="orgTeamMembers">Członkowie zespołu organizacji</string>
|
||||||
<string name="addNewMember">Add / Remove New Member</string>
|
<string name="addNewMember">Add / Remove New Member</string>
|
||||||
<string name="removeTeamMemberTitle">Usuń\u0020</string>
|
<string name="removeTeamMemberTitle">Remove\u0020</string>
|
||||||
<string name="addTeamMemberTitle">Dodaj\u0020</string>
|
<string name="addTeamMemberTitle">Add\u0020</string>
|
||||||
<string name="addTeamMemberMessage">Do you want to add this user to the team?</string>
|
<string name="addTeamMemberMessage">Do you want to add this user to the team?</string>
|
||||||
<string name="removeTeamMemberMessage">Do you want to remove this user from the team?</string>
|
<string name="removeTeamMemberMessage">Do you want to remove this user from the team?</string>
|
||||||
<string name="memberAddedMessage">Member added to the team successfully</string>
|
<string name="memberAddedMessage">Member added to the team successfully</string>
|
||||||
@ -284,7 +284,7 @@
|
|||||||
<string name="editCommentUpdatedText">Komentarz zaktualizowany</string>
|
<string name="editCommentUpdatedText">Komentarz zaktualizowany</string>
|
||||||
<string name="issueCommentShare">Udostępnij komentarz</string>
|
<string name="issueCommentShare">Udostępnij komentarz</string>
|
||||||
<string name="deleteCommentSuccess">Comment deleted successfully</string>
|
<string name="deleteCommentSuccess">Comment deleted successfully</string>
|
||||||
<string name="copyCommentText">Skopiuj komentarz</string>
|
<string name="copyCommentText">Copy Comment</string>
|
||||||
<!-- issue comments -->
|
<!-- issue comments -->
|
||||||
<!-- add collaborator -->
|
<!-- add collaborator -->
|
||||||
<string name="addCollaboratorTitle">Dodaj / Usuń współpracownika</string>
|
<string name="addCollaboratorTitle">Dodaj / Usuń współpracownika</string>
|
||||||
@ -301,7 +301,7 @@
|
|||||||
<string name="profileCreateNewEmailAddress">Dodaj adres e-mail</string>
|
<string name="profileCreateNewEmailAddress">Dodaj adres e-mail</string>
|
||||||
<string name="profileEmailButton">Zapisz</string>
|
<string name="profileEmailButton">Zapisz</string>
|
||||||
<string name="profileEmailTitle">Adres e-mail</string>
|
<string name="profileEmailTitle">Adres e-mail</string>
|
||||||
<string name="emailAddedText">Nowy e-mail został dodany</string>
|
<string name="emailAddedText">New email added successfully</string>
|
||||||
<string name="emailErrorEmpty">Email address is empty</string>
|
<string name="emailErrorEmpty">Email address is empty</string>
|
||||||
<string name="emailErrorInvalid">Adres e-mail jest nieprawidłowy</string>
|
<string name="emailErrorInvalid">Adres e-mail jest nieprawidłowy</string>
|
||||||
<string name="emailErrorInUse">Adres e-mail jest już używany</string>
|
<string name="emailErrorInUse">Adres e-mail jest już używany</string>
|
||||||
@ -414,7 +414,7 @@
|
|||||||
<string name="menuContentDesc">Menu</string>
|
<string name="menuContentDesc">Menu</string>
|
||||||
<string name="menuEditText">Edytuj</string>
|
<string name="menuEditText">Edytuj</string>
|
||||||
<string name="menuDeleteText">Usuń</string>
|
<string name="menuDeleteText">Usuń</string>
|
||||||
<string name="menuCopyText">Kopiuj</string>
|
<string name="menuCopyText">Copy</string>
|
||||||
<string name="menuQuoteText">Quote and Reply</string>
|
<string name="menuQuoteText">Quote and Reply</string>
|
||||||
<string name="modifiedText">edytowano</string>
|
<string name="modifiedText">edytowano</string>
|
||||||
<string name="saveButton">Zapisz</string>
|
<string name="saveButton">Zapisz</string>
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<string name="pageTitleExplore">Обзор</string>
|
<string name="pageTitleExplore">Обзор</string>
|
||||||
<string name="pageTitleAdministration">Администрирование Gitea</string>
|
<string name="pageTitleAdministration">Администрирование Gitea</string>
|
||||||
<string name="pageTitleUserAccounts">Управление аккаунтами</string>
|
<string name="pageTitleUserAccounts">Управление аккаунтами</string>
|
||||||
<string name="pageTitleNewPullRequest">Новый запрос на слияние</string>
|
<string name="pageTitleNewPullRequest">New Pull Request</string>
|
||||||
<!-- page titles -->
|
<!-- page titles -->
|
||||||
<string name="repoName">Демо репозиторий</string>
|
<string name="repoName">Демо репозиторий</string>
|
||||||
<string name="repoFullname">Репозиторий с организацией</string>
|
<string name="repoFullname">Репозиторий с организацией</string>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<string name="navigation_drawer_open">Открыть навигацию</string>
|
<string name="navigation_drawer_open">Открыть навигацию</string>
|
||||||
<string name="navigation_drawer_close">Закрыть навигацию</string>
|
<string name="navigation_drawer_close">Закрыть навигацию</string>
|
||||||
<string name="logo">Войти в Gitea</string>
|
<string name="logo">Войти в Gitea</string>
|
||||||
<string name="protocol">Протокол</string>
|
<string name="protocol">Protocol</string>
|
||||||
<string name="urlInfoTooltip">1. Выберите протокол (https или http) \n2. Укажите URL Gitea, например: try.gitea.io \n3. Если для учетной записи включена 2FA, введите код OTP в соответствующее поле. \n4. Для базовой аутентификации HTTP укажите USERNAME@DOMAIN.COM в поле URL.</string>
|
<string name="urlInfoTooltip">1. Выберите протокол (https или http) \n2. Укажите URL Gitea, например: try.gitea.io \n3. Если для учетной записи включена 2FA, введите код OTP в соответствующее поле. \n4. Для базовой аутентификации HTTP укажите USERNAME@DOMAIN.COM в поле URL.</string>
|
||||||
<string name="malformedUrl">Не удалось подключиться к хосту. Пожалуйста, проверьте URL-адрес или порт на наличие ошибок</string>
|
<string name="malformedUrl">Не удалось подключиться к хосту. Пожалуйста, проверьте URL-адрес или порт на наличие ошибок</string>
|
||||||
<string name="protocolError">Не рекомендуется использовать протокол HTTP, если вы не тестируете в локальной сети</string>
|
<string name="protocolError">Не рекомендуется использовать протокол HTTP, если вы не тестируете в локальной сети</string>
|
||||||
@ -72,7 +72,7 @@
|
|||||||
<string name="emptyFieldURL">Требуется URL экземпляра</string>
|
<string name="emptyFieldURL">Требуется URL экземпляра</string>
|
||||||
<string name="emptyFieldUsername">Требуется имя пользователя</string>
|
<string name="emptyFieldUsername">Требуется имя пользователя</string>
|
||||||
<string name="emptyFieldPassword">Требуется пароль</string>
|
<string name="emptyFieldPassword">Требуется пароль</string>
|
||||||
<string name="protocolEmptyError">Требуется протокол</string>
|
<string name="protocolEmptyError">Protocol is required</string>
|
||||||
<string name="checkNetConnection">Нет подключения к интернету, проверьте наличие связи.</string>
|
<string name="checkNetConnection">Нет подключения к интернету, проверьте наличие связи.</string>
|
||||||
<string name="netConnectionIsBack">Ура, у нас есть интернет!</string>
|
<string name="netConnectionIsBack">Ура, у нас есть интернет!</string>
|
||||||
<string name="repoNameErrorEmpty">Название репозитория пустое.</string>
|
<string name="repoNameErrorEmpty">Название репозитория пустое.</string>
|
||||||
@ -83,7 +83,7 @@
|
|||||||
<string name="repoCreated">Репозиторий успешно создан!</string>
|
<string name="repoCreated">Репозиторий успешно создан!</string>
|
||||||
<string name="repoCreatedError">Что-то пошло не так. Пожалуйста, попытайтесь еще раз.</string>
|
<string name="repoCreatedError">Что-то пошло не так. Пожалуйста, попытайтесь еще раз.</string>
|
||||||
<string name="repoExistsError">Репозиторий с таким именему уже существует у выбранного владельца</string>
|
<string name="repoExistsError">Репозиторий с таким именему уже существует у выбранного владельца</string>
|
||||||
<string name="repoOwnerError">Выбрать владельца репозитория</string>
|
<string name="repoOwnerError">Select owner for the repository</string>
|
||||||
<string name="orgNameErrorEmpty">Название организации пустое.</string>
|
<string name="orgNameErrorEmpty">Название организации пустое.</string>
|
||||||
<string name="orgNameErrorInvalid">Недоступное название организации. [a–z A–Z 0–9 – _]</string>
|
<string name="orgNameErrorInvalid">Недоступное название организации. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="orgDescError">Описание организации превышает 255 символов.</string>
|
<string name="orgDescError">Описание организации превышает 255 символов.</string>
|
||||||
@ -208,12 +208,12 @@
|
|||||||
<string name="draftsHintText">Черновик комментариев</string>
|
<string name="draftsHintText">Черновик комментариев</string>
|
||||||
<string name="settingsEnableCommentsDeletionText">Включить удаление черновиков</string>
|
<string name="settingsEnableCommentsDeletionText">Включить удаление черновиков</string>
|
||||||
<string name="settingsEnableCommentsDeletionHintText">Удалить черновик комментария при публикации комментария</string>
|
<string name="settingsEnableCommentsDeletionHintText">Удалить черновик комментария при публикации комментария</string>
|
||||||
<string name="settingsGeneralHeader">Общее</string>
|
<string name="settingsGeneralHeader">General</string>
|
||||||
<string name="generalHintText">Домашний экран, обработчик ссылок по умолчанию</string>
|
<string name="generalHintText">Home screen, default link handler</string>
|
||||||
<string name="generalDeepLinkDefaultScreen">Обработчик ссылок по умолчанию</string>
|
<string name="generalDeepLinkDefaultScreen">Default Link Handler</string>
|
||||||
<string name="generalDeepLinkDefaultScreenHintText">Выберите, какой экран следует загрузить, если приложение не может обрабатывать внешние ссылки. Он автоматически перенаправит вас.</string>
|
<string name="generalDeepLinkDefaultScreenHintText">Choose what screen should be loaded if the app cannot handle external links. It will redirect you automatically.</string>
|
||||||
<string name="generalDeepLinkSelectedText">Н/Д</string>
|
<string name="generalDeepLinkSelectedText">N/A</string>
|
||||||
<string name="linkSelectorDialogTitle">Выбрать экран обработчика ссылок по умолчанию</string>
|
<string name="linkSelectorDialogTitle">Select Default Link Handler Screen</string>
|
||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="noMoreData">Больше даных нет</string>
|
<string name="noMoreData">Больше даных нет</string>
|
||||||
<string name="createLabel">Создание метки</string>
|
<string name="createLabel">Создание метки</string>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<color name="colorPrimary">#212121</color>
|
<color name="colorPrimary">#212121</color>
|
||||||
<color name="colorPrimaryDark">#212121</color>
|
<color name="colorPrimaryDark">#212121</color>
|
||||||
<color name="colorAccent">#7f7e7b</color>
|
<color name="colorAccent">#7f7e7b</color>
|
||||||
@ -55,7 +56,4 @@
|
|||||||
<color name="iconPrMergedColor">#a333c8</color>
|
<color name="iconPrMergedColor">#a333c8</color>
|
||||||
<color name="iconIssuePrClosedColor">#db2828</color>
|
<color name="iconIssuePrClosedColor">#db2828</color>
|
||||||
|
|
||||||
<color name="pitchBlackThemeBackground">#050505</color>
|
|
||||||
<color name="pitchBlackThemeTextColor">#d2d2d2</color>
|
|
||||||
<color name="pitchBlackThemeGeneralBackgroundColor">#151515</color>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string name="versionLow" translatable="false">1.12</string>
|
<string name="versionLow" translatable="false">1.11</string>
|
||||||
<string name="versionHigh" translatable="false">1.14</string>
|
<string name="versionHigh" translatable="false">1.13</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -121,46 +121,6 @@
|
|||||||
</style>
|
</style>
|
||||||
<!-- Retro theme -->
|
<!-- Retro theme -->
|
||||||
|
|
||||||
<!-- Pitch black theme -->
|
|
||||||
<style name="AppThemePitchBlack" parent="Theme.MaterialComponents.NoActionBar">
|
|
||||||
<item name="android:statusBarColor">@color/pitchBlackThemeBackground</item>
|
|
||||||
<item name="android:typeface">monospace</item>
|
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
|
||||||
<item name="android:textColorSecondary">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="android:textColorPrimary">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="colorPrimary">@color/darkGreen</item>
|
|
||||||
<item name="colorSecondary">@color/pitchBlackThemeTextColor</item>
|
|
||||||
|
|
||||||
<item name="diffAddedColor">@color/diffAddedColor</item>
|
|
||||||
<item name="diffRemovedColor">@color/diffRemovedColor</item>
|
|
||||||
<item name="diffSelectedColor">@color/diffSelectedColor</item>
|
|
||||||
<item name="primaryTextColor">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="primaryBackgroundColor">@color/pitchBlackThemeBackground</item>
|
|
||||||
<item name="inputBackgroundColor">@color/inputBackground</item>
|
|
||||||
<item name="inputSelectedColor">@color/inputSelected</item>
|
|
||||||
<item name="inputTextColor">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="checkboxStyle">@style/AppThemeCheckBoxStyle</item>
|
|
||||||
<item name="selectedTextColor">@color/darkGreen</item>
|
|
||||||
<item name="alertDialogTheme">@style/AppThemePitchBlackConfirmDialog</item>
|
|
||||||
<item name="popupMenuStyle">@style/AppThemePitchBlackPopupMenuStyle</item>
|
|
||||||
<item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
|
|
||||||
<item name="autoCompleteTextViewStyle">@style/AppThemeDarkSearchAutoCompleteTextView</item>
|
|
||||||
<item name="hintColor">@color/hintColor</item>
|
|
||||||
<item name="colorControlActivated">@color/darkGreen</item>
|
|
||||||
<item name="dividerColor">@color/hintColor</item>
|
|
||||||
<item name="bottomSheetDialogTheme">@style/AppThemeDarkBottomSheetDialog</item>
|
|
||||||
<item name="searchViewStyle">@style/AppSearchViewStyle</item>
|
|
||||||
<item name="progressIndicatorColor">@color/darkGreen</item>
|
|
||||||
<item name="fabColor">@color/darkGreen</item>
|
|
||||||
<item name="iconsColor">@color/darkGreen</item>
|
|
||||||
<item name="pagerTabIndicatorColor">@color/darkGreen</item>
|
|
||||||
<item name="android:actionOverflowButtonStyle">@style/customOverflowButtonStyle</item>
|
|
||||||
<item name="actionOverflowMenuStyle">@style/customOverflowMenuStyle</item>
|
|
||||||
<item name="colorSurface">@color/inputBackground</item>
|
|
||||||
<item name="shapeAppearanceSmallComponent">@style/inputsMaterialComponentCorner</item>
|
|
||||||
</style>
|
|
||||||
<!-- Pitch black theme -->
|
|
||||||
|
|
||||||
<style name="inputsMaterialComponentCorner" parent="ShapeAppearance.MaterialComponents.SmallComponent">
|
<style name="inputsMaterialComponentCorner" parent="ShapeAppearance.MaterialComponents.SmallComponent">
|
||||||
<item name="cornerFamily">rounded</item>
|
<item name="cornerFamily">rounded</item>
|
||||||
<item name="cornerSize">6dp</item>
|
<item name="cornerSize">6dp</item>
|
||||||
@ -314,26 +274,4 @@
|
|||||||
</style>
|
</style>
|
||||||
<!-- Retro theme styles -->
|
<!-- Retro theme styles -->
|
||||||
|
|
||||||
<!-- Pitch black theme styles -->
|
|
||||||
<style name="AppThemePitchBlackConfirmDialog" parent="Theme.MaterialComponents.Dialog.Alert">
|
|
||||||
<item name="android:background">@color/pitchBlackThemeGeneralBackgroundColor</item>
|
|
||||||
<item name="android:textColorPrimary">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="android:textColor">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="colorControlNormal">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="colorControlActivated">@color/darkGreen</item>
|
|
||||||
<item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
|
|
||||||
<item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
|
|
||||||
<item name="buttonBarNeutralButtonStyle">@style/NeutralButtonStyle</item>
|
|
||||||
<item name="android:windowBackground">@drawable/shape_round_corners</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="AppThemePitchBlackPopupMenuStyle" parent="Widget.MaterialComponents.PopupMenu">
|
|
||||||
<item name="android:popupBackground">@color/pitchBlackThemeGeneralBackgroundColor</item>
|
|
||||||
<item name="android:itemBackground">@color/pitchBlackThemeGeneralBackgroundColor</item>
|
|
||||||
<item name="android:textColor">@color/pitchBlackThemeTextColor</item>
|
|
||||||
<item name="android:layout_marginStart">3dp</item>
|
|
||||||
<item name="android:layout_marginEnd">3dp</item>
|
|
||||||
</style>
|
|
||||||
<!-- Pitch black theme styles -->
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<changelog>
|
<changelog>
|
||||||
|
|
||||||
<release version="3.4.0" versioncode="340">
|
<release version="3.3.0" versioncode="330">
|
||||||
<change>New: Organization labels(list, create, edit, delete)</change>
|
<change>New: New labels/assignees popups</change>
|
||||||
<change>New: Pitch black theme</change>
|
<change>New: Transition to new input design</change>
|
||||||
<change>Improvement: Cap sentence start letters</change>
|
<change>New: New commenting screen</change>
|
||||||
<change>Bugfix: Fix spacing when no reactions are available</change>
|
<change>New: Handle popular instances links (open from email etc)</change>
|
||||||
<change>Bugfix: Fix offline mode</change>
|
<change>New: Syntax highlighting in code blocks</change>
|
||||||
|
<change>New: Organization labels in issue labels</change>
|
||||||
|
<change>New: Group notifications, settings screen to enable/disable, change delay, light color</change>
|
||||||
|
<change>New: Issue/PR and comments emoji reactions</change>
|
||||||
</release>
|
</release>
|
||||||
|
|
||||||
</changelog>
|
</changelog>
|
||||||
|
@ -7,7 +7,7 @@ buildscript {
|
|||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:4.1.1'
|
classpath 'com.android.tools.build:gradle:4.1.0'
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
3.4.0
|
|
||||||
|
|
||||||
New: Organization labels(list, create, edit, delete)
|
|
||||||
New: Pitch black theme
|
|
||||||
Improvement: Cap sentence start letters
|
|
||||||
Bugfix: Fix spacing when no reactions are available
|
|
||||||
Bugfix: Fix offline mode
|
|
||||||
|
|
||||||
Release Notes: https://codeberg.org/gitnex/GitNex/releases
|
|
||||||
|
|
||||||
Release Blog: https://gitnex.codeberg.page/posts/340.html
|
|
Reference in New Issue
Block a user