mirror of
https://codeberg.org/gitnex/GitNex.git
synced 2024-12-16 15:48:13 +08:00
Merge branch '51-custom-fonts' of gitnex/GitNex into master
Reviewed-by: 6543 <6543@noreply.gitea.io>
This commit is contained in:
commit
d8de0effef
@ -13,7 +13,7 @@
|
|||||||
android:roundIcon="@mipmap/app_logo_round"
|
android:roundIcon="@mipmap/app_logo_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme">
|
android:theme="@style/AppTheme">
|
||||||
<activity android:name=".activities.MergePullRequestActivity"></activity>
|
<activity android:name=".activities.MergePullRequestActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.FileViewActivity"
|
android:name=".activities.FileViewActivity"
|
||||||
android:theme="@style/AppTheme.NoActionBar" />
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
|
BIN
app/src/main/assets/fonts/manroperegular.ttf
Normal file
BIN
app/src/main/assets/fonts/manroperegular.ttf
Normal file
Binary file not shown.
@ -0,0 +1,61 @@
|
|||||||
|
package org.mian.gitnex.activities;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import org.mian.gitnex.helpers.FontsOverride;
|
||||||
|
import org.mian.gitnex.util.TinyDB;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Author M M Arif
|
||||||
|
*/
|
||||||
|
|
||||||
|
public abstract class BaseActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(getLayoutResourceId());
|
||||||
|
|
||||||
|
final TinyDB tinyDb = new TinyDB(getApplicationContext());
|
||||||
|
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/roboto.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/roboto.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/roboto.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/manroperegular.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/manroperegular.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/manroperegular.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/sourcecodeproregular.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/sourcecodeproregular.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/sourcecodeproregular.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/roboto.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/roboto.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SERIF", "fonts/roboto.ttf");
|
||||||
|
FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract int getLayoutResourceId();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -132,6 +132,8 @@ public class IssueDetailActivity extends AppCompatActivity {
|
|||||||
assigneesLayout = findViewById(R.id.frameAssignees);
|
assigneesLayout = findViewById(R.id.frameAssignees);
|
||||||
|
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
|
TextView toolbarTitle = toolbar.findViewById(R.id.toolbar_title);
|
||||||
|
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
Objects.requireNonNull(getSupportActionBar()).setTitle(repoName);
|
Objects.requireNonNull(getSupportActionBar()).setTitle(repoName);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
@ -158,6 +160,31 @@ public class IssueDetailActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
toolbarTitle.setTypeface(myTypeface);
|
||||||
|
toolbarTitle.setText(repoName);
|
||||||
|
|
||||||
getSingleIssue(instanceUrl, instanceToken, repoOwner, repoName, issueIndex, loginUid);
|
getSingleIssue(instanceUrl, instanceToken, repoOwner, repoName, issueIndex, loginUid);
|
||||||
fetchDataAsync(instanceUrl, instanceToken, repoOwner, repoName, issueIndex, loginUid);
|
fetchDataAsync(instanceUrl, instanceToken, repoOwner, repoName, issueIndex, loginUid);
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ import android.widget.Spinner;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import com.tooltip.Tooltip;
|
import com.tooltip.Tooltip;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.clients.RetrofitClient;
|
import org.mian.gitnex.clients.RetrofitClient;
|
||||||
@ -44,7 +43,7 @@ import retrofit2.Callback;
|
|||||||
* Author M M Arif
|
* Author M M Arif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
|
public class LoginActivity extends BaseActivity implements View.OnClickListener {
|
||||||
|
|
||||||
private Button loginButton;
|
private Button loginButton;
|
||||||
private EditText instanceUrlET, loginUidET, loginPassword, otpCode, loginTokenCode;
|
private EditText instanceUrlET, loginUidET, loginPassword, otpCode, loginTokenCode;
|
||||||
@ -55,10 +54,14 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
|
|||||||
private String device_id = "token";
|
private String device_id = "token";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected int getLayoutResourceId(){
|
||||||
|
return R.layout.activity_login;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_login);
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
||||||
boolean connToInternet = AppUtil.haveNetworkConnection(getApplicationContext());
|
boolean connToInternet = AppUtil.haveNetworkConnection(getApplicationContext());
|
||||||
|
@ -8,7 +8,9 @@ import com.google.android.material.navigation.NavigationView;
|
|||||||
import androidx.core.view.GravityCompat;
|
import androidx.core.view.GravityCompat;
|
||||||
import androidx.drawerlayout.widget.DrawerLayout;
|
import androidx.drawerlayout.widget.DrawerLayout;
|
||||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@ -45,17 +47,25 @@ import retrofit2.Callback;
|
|||||||
* Author M M Arif
|
* Author M M Arif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
|
public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener {
|
||||||
|
|
||||||
private DrawerLayout drawer;
|
private DrawerLayout drawer;
|
||||||
private TextView userFullName;
|
private TextView userFullName;
|
||||||
private TextView userEmail;
|
private TextView userEmail;
|
||||||
private ImageView userAvatar;
|
private ImageView userAvatar;
|
||||||
|
private TextView toolbarTitle;
|
||||||
final Context ctx = this;
|
final Context ctx = this;
|
||||||
|
private Typeface myTypeface;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected int getLayoutResourceId(){
|
||||||
|
return R.layout.activity_main;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
final TinyDB tinyDb = new TinyDB(getApplicationContext());
|
final TinyDB tinyDb = new TinyDB(getApplicationContext());
|
||||||
tinyDb.putBoolean("noConnection", false);
|
tinyDb.putBoolean("noConnection", false);
|
||||||
//userAvatar = findViewById(R.id.userAvatar);
|
//userAvatar = findViewById(R.id.userAvatar);
|
||||||
@ -86,17 +96,62 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
|
|
||||||
boolean connToInternet = AppUtil.haveNetworkConnection(getApplicationContext());
|
boolean connToInternet = AppUtil.haveNetworkConnection(getApplicationContext());
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_main);
|
|
||||||
|
|
||||||
if(!tinyDb.getBoolean("loggedInMode")) {
|
if(!tinyDb.getBoolean("loggedInMode")) {
|
||||||
logout();
|
logout();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
androidx.appcompat.widget.Toolbar toolbar = findViewById(R.id.toolbar);
|
androidx.appcompat.widget.Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
|
toolbarTitle = toolbar.findViewById(R.id.toolbar_title);
|
||||||
|
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
toolbarTitle.setTypeface(myTypeface);
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
FragmentManager fm = getSupportFragmentManager();
|
||||||
|
Fragment fragmentById = fm.findFragmentById(R.id.fragment_container);
|
||||||
|
if (fragmentById instanceof SettingsFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleSettings));
|
||||||
|
}
|
||||||
|
else if (fragmentById instanceof MyRepositoriesFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleMyRepos));
|
||||||
|
}
|
||||||
|
else if (fragmentById instanceof StarredRepositoriesFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleStarredRepos));
|
||||||
|
}
|
||||||
|
else if (fragmentById instanceof OrganizationsFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleOrganizations));
|
||||||
|
}
|
||||||
|
else if (fragmentById instanceof ExploreRepositoriesFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleExplore));
|
||||||
|
}
|
||||||
|
else if (fragmentById instanceof ProfileFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleProfile));
|
||||||
|
}
|
||||||
|
else if (fragmentById instanceof AboutFragment) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleAbout));
|
||||||
|
}
|
||||||
|
|
||||||
drawer = findViewById(R.id.drawer_layout);
|
drawer = findViewById(R.id.drawer_layout);
|
||||||
NavigationView navigationView = findViewById(R.id.nav_view);
|
NavigationView navigationView = findViewById(R.id.nav_view);
|
||||||
navigationView.setNavigationItemSelectedListener(this);
|
navigationView.setNavigationItemSelectedListener(this);
|
||||||
@ -130,8 +185,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
tinyDb.putBoolean("noConnection", false);
|
tinyDb.putBoolean("noConnection", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
//tinyDb.putBoolean("noConnection", true);
|
|
||||||
|
|
||||||
String userEmailNav = tinyDb.getString("userEmail");
|
String userEmailNav = tinyDb.getString("userEmail");
|
||||||
String userFullNameNav = tinyDb.getString("userFullname");
|
String userFullNameNav = tinyDb.getString("userFullname");
|
||||||
String userAvatarNav = tinyDb.getString("userAvatar");
|
String userAvatarNav = tinyDb.getString("userAvatar");
|
||||||
@ -139,11 +192,13 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
userEmail = hView.findViewById(R.id.userEmail);
|
userEmail = hView.findViewById(R.id.userEmail);
|
||||||
if (!userEmailNav.equals("")) {
|
if (!userEmailNav.equals("")) {
|
||||||
userEmail.setText(userEmailNav);
|
userEmail.setText(userEmailNav);
|
||||||
|
userEmail.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
|
|
||||||
userFullName = hView.findViewById(R.id.userFullname);
|
userFullName = hView.findViewById(R.id.userFullname);
|
||||||
if (!userFullNameNav.equals("")) {
|
if (!userFullNameNav.equals("")) {
|
||||||
userFullName.setText(userFullNameNav);
|
userFullName.setText(userFullNameNav);
|
||||||
|
userFullName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
|
|
||||||
userAvatar = hView.findViewById(R.id.userAvatar);
|
userAvatar = hView.findViewById(R.id.userAvatar);
|
||||||
@ -176,31 +231,37 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
|
|
||||||
if(savedInstanceState == null) {
|
if(savedInstanceState == null) {
|
||||||
if(tinyDb.getInt("homeScreenId") == 0) {
|
if(tinyDb.getInt("homeScreenId") == 0) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleMyRepos));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new MyRepositoriesFragment()).commit();
|
new MyRepositoriesFragment()).commit();
|
||||||
navigationView.setCheckedItem(R.id.nav_home);
|
navigationView.setCheckedItem(R.id.nav_home);
|
||||||
}
|
}
|
||||||
else if(tinyDb.getInt("homeScreenId") == 1) {
|
else if(tinyDb.getInt("homeScreenId") == 1) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleStarredRepos));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new StarredRepositoriesFragment()).commit();
|
new StarredRepositoriesFragment()).commit();
|
||||||
navigationView.setCheckedItem(R.id.nav_starred_repos);
|
navigationView.setCheckedItem(R.id.nav_starred_repos);
|
||||||
}
|
}
|
||||||
else if(tinyDb.getInt("homeScreenId") == 2) {
|
else if(tinyDb.getInt("homeScreenId") == 2) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleOrganizations));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new OrganizationsFragment()).commit();
|
new OrganizationsFragment()).commit();
|
||||||
navigationView.setCheckedItem(R.id.nav_organizations);
|
navigationView.setCheckedItem(R.id.nav_organizations);
|
||||||
}
|
}
|
||||||
else if(tinyDb.getInt("homeScreenId") == 3) {
|
else if(tinyDb.getInt("homeScreenId") == 3) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleRepositories));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new RepositoriesFragment()).commit();
|
new RepositoriesFragment()).commit();
|
||||||
navigationView.setCheckedItem(R.id.nav_repositories);
|
navigationView.setCheckedItem(R.id.nav_repositories);
|
||||||
}
|
}
|
||||||
else if(tinyDb.getInt("homeScreenId") == 4) {
|
else if(tinyDb.getInt("homeScreenId") == 4) {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleProfile));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new ProfileFragment()).commit();
|
new ProfileFragment()).commit();
|
||||||
navigationView.setCheckedItem(R.id.nav_profile);
|
navigationView.setCheckedItem(R.id.nav_profile);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleMyRepos));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new MyRepositoriesFragment()).commit();
|
new MyRepositoriesFragment()).commit();
|
||||||
navigationView.setCheckedItem(R.id.nav_home);
|
navigationView.setCheckedItem(R.id.nav_home);
|
||||||
@ -246,22 +307,28 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
|
|
||||||
switch (menuItem.getItemId()) {
|
switch (menuItem.getItemId()) {
|
||||||
case R.id.nav_home:
|
case R.id.nav_home:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleMyRepos));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new MyRepositoriesFragment()).commit();
|
new MyRepositoriesFragment()).commit();
|
||||||
break;
|
break;
|
||||||
case R.id.nav_organizations:
|
case R.id.nav_organizations:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleOrganizations));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new OrganizationsFragment()).commit();
|
new OrganizationsFragment()).commit();
|
||||||
break;
|
break;
|
||||||
case R.id.nav_profile:
|
case R.id.nav_profile:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleProfile));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new ProfileFragment()).commit();
|
new ProfileFragment()).commit();
|
||||||
break;
|
break;
|
||||||
case R.id.nav_repositories:
|
case R.id.nav_repositories:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleRepositories));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new RepositoriesFragment()).commit();
|
new RepositoriesFragment()).commit();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case R.id.nav_settings:
|
case R.id.nav_settings:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleSettings));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new SettingsFragment()).commit();
|
new SettingsFragment()).commit();
|
||||||
break;
|
break;
|
||||||
@ -270,6 +337,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
|
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
|
||||||
break;
|
break;
|
||||||
case R.id.nav_about:
|
case R.id.nav_about:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleAbout));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new AboutFragment()).commit();
|
new AboutFragment()).commit();
|
||||||
break;
|
break;
|
||||||
@ -277,10 +345,12 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
|||||||
rateThisApp();
|
rateThisApp();
|
||||||
break;
|
break;
|
||||||
case R.id.nav_starred_repos:
|
case R.id.nav_starred_repos:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleStarredRepos));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new StarredRepositoriesFragment()).commit();
|
new StarredRepositoriesFragment()).commit();
|
||||||
break;
|
break;
|
||||||
case R.id.nav_explore:
|
case R.id.nav_explore:
|
||||||
|
toolbarTitle.setText(getResources().getString(R.string.pageTitleExplore));
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
|
||||||
new ExploreRepositoriesFragment()).commit();
|
new ExploreRepositoriesFragment()).commit();
|
||||||
break;
|
break;
|
||||||
|
@ -9,10 +9,14 @@ import androidx.fragment.app.FragmentManager;
|
|||||||
import androidx.fragment.app.FragmentPagerAdapter;
|
import androidx.fragment.app.FragmentPagerAdapter;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.fragments.MembersByOrgFragment;
|
import org.mian.gitnex.fragments.MembersByOrgFragment;
|
||||||
import org.mian.gitnex.fragments.OrgBottomSheetFragment;
|
import org.mian.gitnex.fragments.OrgBottomSheetFragment;
|
||||||
@ -37,6 +41,8 @@ public class OrgDetailActivity extends AppCompatActivity implements OrgBottomShe
|
|||||||
String orgName = tinyDb.getString("orgName");
|
String orgName = tinyDb.getString("orgName");
|
||||||
|
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
|
TextView toolbarTitle = toolbar.findViewById(R.id.toolbar_title);
|
||||||
|
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
Objects.requireNonNull(getSupportActionBar()).setTitle(orgName);
|
Objects.requireNonNull(getSupportActionBar()).setTitle(orgName);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
@ -48,6 +54,44 @@ public class OrgDetailActivity extends AppCompatActivity implements OrgBottomShe
|
|||||||
|
|
||||||
TabLayout tabLayout = findViewById(R.id.tabs);
|
TabLayout tabLayout = findViewById(R.id.tabs);
|
||||||
|
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
toolbarTitle.setTypeface(myTypeface);
|
||||||
|
toolbarTitle.setText(orgName);
|
||||||
|
|
||||||
|
ViewGroup vg = (ViewGroup) tabLayout.getChildAt(0);
|
||||||
|
int tabsCount = vg.getChildCount();
|
||||||
|
for (int j = 0; j < tabsCount; j++) {
|
||||||
|
ViewGroup vgTab = (ViewGroup) vg.getChildAt(j);
|
||||||
|
int tabChildCount = vgTab.getChildCount();
|
||||||
|
for (int i = 0; i < tabChildCount; i++) {
|
||||||
|
View tabViewChild = vgTab.getChildAt(i);
|
||||||
|
if (tabViewChild instanceof TextView) {
|
||||||
|
((TextView) tabViewChild).setTypeface(myTypeface);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
|
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
|
||||||
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
|
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package org.mian.gitnex.activities;
|
package org.mian.gitnex.activities;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -16,12 +15,13 @@ import org.mian.gitnex.models.UserInfo;
|
|||||||
import org.mian.gitnex.util.TinyDB;
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import org.mian.gitnex.viewmodels.TeamMembersByOrgViewModel;
|
import org.mian.gitnex.viewmodels.TeamMembersByOrgViewModel;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Author M M Arif
|
* Author M M Arif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class OrgTeamMembersActivity extends AppCompatActivity {
|
public class OrgTeamMembersActivity extends BaseActivity {
|
||||||
|
|
||||||
private TextView noDataMembers;
|
private TextView noDataMembers;
|
||||||
private View.OnClickListener onClickListener;
|
private View.OnClickListener onClickListener;
|
||||||
@ -29,9 +29,13 @@ public class OrgTeamMembersActivity extends AppCompatActivity {
|
|||||||
private GridView mGridView;
|
private GridView mGridView;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected int getLayoutResourceId(){
|
||||||
|
return R.layout.activity_org_team_members;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_org_team_members);
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
||||||
final String instanceUrl = tinyDb.getString("instanceUrl");
|
final String instanceUrl = tinyDb.getString("instanceUrl");
|
||||||
@ -46,7 +50,7 @@ public class OrgTeamMembersActivity extends AppCompatActivity {
|
|||||||
initCloseListener();
|
initCloseListener();
|
||||||
closeActivity.setOnClickListener(onClickListener);
|
closeActivity.setOnClickListener(onClickListener);
|
||||||
|
|
||||||
if(getIntent().getStringExtra("teamTitle") != null && !getIntent().getStringExtra("teamTitle").equals("")) {
|
if(getIntent().getStringExtra("teamTitle") != null && !Objects.requireNonNull(getIntent().getStringExtra("teamTitle")).equals("")) {
|
||||||
toolbarTitle.setText(getIntent().getStringExtra("teamTitle"));
|
toolbarTitle.setText(getIntent().getStringExtra("teamTitle"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -54,7 +58,7 @@ public class OrgTeamMembersActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String teamId;
|
String teamId;
|
||||||
if(getIntent().getStringExtra("teamId") != null && !getIntent().getStringExtra("teamId").equals("")){
|
if(getIntent().getStringExtra("teamId") != null && !Objects.requireNonNull(getIntent().getStringExtra("teamId")).equals("")){
|
||||||
teamId = getIntent().getStringExtra("teamId");
|
teamId = getIntent().getStringExtra("teamId");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -64,6 +68,7 @@ public class OrgTeamMembersActivity extends AppCompatActivity {
|
|||||||
getIntent().getStringExtra("teamId");
|
getIntent().getStringExtra("teamId");
|
||||||
//Log.i("teamId", getIntent().getStringExtra("teamId"));
|
//Log.i("teamId", getIntent().getStringExtra("teamId"));
|
||||||
|
|
||||||
|
assert teamId != null;
|
||||||
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), Integer.valueOf(teamId));
|
fetchDataAsync(instanceUrl, Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), Integer.valueOf(teamId));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package org.mian.gitnex.activities;
|
|||||||
import com.google.android.material.tabs.TabLayout;
|
import com.google.android.material.tabs.TabLayout;
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
@ -14,6 +13,7 @@ import retrofit2.Callback;
|
|||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -21,6 +21,7 @@ import android.view.Menu;
|
|||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.clients.RetrofitClient;
|
import org.mian.gitnex.clients.RetrofitClient;
|
||||||
@ -47,14 +48,18 @@ import android.net.Uri;
|
|||||||
* Author M M Arif
|
* Author M M Arif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class RepoDetailActivity extends AppCompatActivity implements RepoBottomSheetFragment.BottomSheetListener {
|
public class RepoDetailActivity extends BaseActivity implements RepoBottomSheetFragment.BottomSheetListener {
|
||||||
|
|
||||||
private TextView textViewBadge;
|
private TextView textViewBadge;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected int getLayoutResourceId(){
|
||||||
|
return R.layout.activity_repo_detail;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_repo_detail);
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
TinyDB tinyDb = new TinyDB(getApplicationContext());
|
||||||
String repoFullName = tinyDb.getString("repoFullName");
|
String repoFullName = tinyDb.getString("repoFullName");
|
||||||
@ -70,6 +75,8 @@ public class RepoDetailActivity extends AppCompatActivity implements RepoBottomS
|
|||||||
AppUtil.setAppLocale(getResources(), appLocale);
|
AppUtil.setAppLocale(getResources(), appLocale);
|
||||||
|
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
|
TextView toolbarTitle = toolbar.findViewById(R.id.toolbar_title);
|
||||||
|
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
Objects.requireNonNull(getSupportActionBar()).setTitle(repoName1);
|
Objects.requireNonNull(getSupportActionBar()).setTitle(repoName1);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
@ -81,6 +88,44 @@ public class RepoDetailActivity extends AppCompatActivity implements RepoBottomS
|
|||||||
|
|
||||||
TabLayout tabLayout = findViewById(R.id.tabs);
|
TabLayout tabLayout = findViewById(R.id.tabs);
|
||||||
|
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
toolbarTitle.setTypeface(myTypeface);
|
||||||
|
toolbarTitle.setText(repoName1);
|
||||||
|
|
||||||
|
ViewGroup vg = (ViewGroup) tabLayout.getChildAt(0);
|
||||||
|
int tabsCount = vg.getChildCount();
|
||||||
|
for (int j = 0; j < tabsCount; j++) {
|
||||||
|
ViewGroup vgTab = (ViewGroup) vg.getChildAt(j);
|
||||||
|
int tabChildCount = vgTab.getChildCount();
|
||||||
|
for (int i = 0; i < tabChildCount; i++) {
|
||||||
|
View tabViewChild = vgTab.getChildAt(i);
|
||||||
|
if (tabViewChild instanceof TextView) {
|
||||||
|
((TextView) tabViewChild).setTypeface(myTypeface);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
|
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
|
||||||
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
|
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package org.mian.gitnex.adapters;
|
|||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -12,6 +13,7 @@ import com.squareup.picasso.Picasso;
|
|||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.helpers.RoundedTransformation;
|
import org.mian.gitnex.helpers.RoundedTransformation;
|
||||||
import org.mian.gitnex.models.UserInfo;
|
import org.mian.gitnex.models.UserInfo;
|
||||||
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -79,11 +81,36 @@ public class RepoStargazersAdapter extends BaseAdapter {
|
|||||||
UserInfo currentItem = stargazersList.get(position);
|
UserInfo currentItem = stargazersList.get(position);
|
||||||
Picasso.get().load(currentItem.getAvatar()).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
|
Picasso.get().load(currentItem.getAvatar()).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
|
||||||
|
|
||||||
|
final TinyDB tinyDb = new TinyDB(mCtx);
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(!currentItem.getFullname().equals("")) {
|
if(!currentItem.getFullname().equals("")) {
|
||||||
viewHolder.memberName.setText(currentItem.getFullname());
|
viewHolder.memberName.setText(currentItem.getFullname());
|
||||||
|
viewHolder.memberName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
viewHolder.memberName.setText(currentItem.getLogin());
|
viewHolder.memberName.setText(currentItem.getLogin());
|
||||||
|
viewHolder.memberName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package org.mian.gitnex.adapters;
|
|||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -12,6 +13,7 @@ import com.squareup.picasso.Picasso;
|
|||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.helpers.RoundedTransformation;
|
import org.mian.gitnex.helpers.RoundedTransformation;
|
||||||
import org.mian.gitnex.models.UserInfo;
|
import org.mian.gitnex.models.UserInfo;
|
||||||
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -79,11 +81,36 @@ public class RepoWatchersAdapter extends BaseAdapter {
|
|||||||
UserInfo currentItem = watchersList.get(position);
|
UserInfo currentItem = watchersList.get(position);
|
||||||
Picasso.get().load(currentItem.getAvatar()).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
|
Picasso.get().load(currentItem.getAvatar()).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
|
||||||
|
|
||||||
|
final TinyDB tinyDb = new TinyDB(mCtx);
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(!currentItem.getFullname().equals("")) {
|
if(!currentItem.getFullname().equals("")) {
|
||||||
viewHolder.memberName.setText(currentItem.getFullname());
|
viewHolder.memberName.setText(currentItem.getFullname());
|
||||||
|
viewHolder.memberName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
viewHolder.memberName.setText(currentItem.getLogin());
|
viewHolder.memberName.setText(currentItem.getLogin());
|
||||||
|
viewHolder.memberName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package org.mian.gitnex.adapters;
|
|||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -12,6 +13,7 @@ import com.squareup.picasso.Picasso;
|
|||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.helpers.RoundedTransformation;
|
import org.mian.gitnex.helpers.RoundedTransformation;
|
||||||
import org.mian.gitnex.models.UserInfo;
|
import org.mian.gitnex.models.UserInfo;
|
||||||
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -80,11 +82,36 @@ public class TeamMembersByOrgAdapter extends BaseAdapter {
|
|||||||
UserInfo currentItem = teamMembersList.get(position);
|
UserInfo currentItem = teamMembersList.get(position);
|
||||||
Picasso.get().load(currentItem.getAvatar()).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
|
Picasso.get().load(currentItem.getAvatar()).transform(new RoundedTransformation(8, 0)).resize(180, 180).centerCrop().into(viewHolder.memberAvatar);
|
||||||
|
|
||||||
|
final TinyDB tinyDb = new TinyDB(mCtx);
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(!currentItem.getFullname().equals("")) {
|
if(!currentItem.getFullname().equals("")) {
|
||||||
viewHolder.memberName.setText(currentItem.getFullname());
|
viewHolder.memberName.setText(currentItem.getFullname());
|
||||||
|
viewHolder.memberName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
viewHolder.memberName.setText(currentItem.getLogin());
|
viewHolder.memberName.setText(currentItem.getLogin());
|
||||||
|
viewHolder.memberName.setTypeface(myTypeface);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ public class AboutFragment extends Fragment {
|
|||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|
||||||
View v = inflater.inflate(R.layout.fragment_about, container, false);
|
View v = inflater.inflate(R.layout.fragment_about, container, false);
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleAbout));
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getContext());
|
TinyDB tinyDb = new TinyDB(getContext());
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@ 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 org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
|
||||||
import org.mian.gitnex.adapters.ExploreRepositoriesAdapter;
|
import org.mian.gitnex.adapters.ExploreRepositoriesAdapter;
|
||||||
import org.mian.gitnex.clients.RetrofitClient;
|
import org.mian.gitnex.clients.RetrofitClient;
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
import org.mian.gitnex.helpers.Authorization;
|
||||||
@ -77,7 +76,6 @@ public class ExploreRepositoriesFragment extends Fragment {
|
|||||||
|
|
||||||
final View v = inflater.inflate(R.layout.fragment_explore_repo, container, false);
|
final View v = inflater.inflate(R.layout.fragment_explore_repo, container, false);
|
||||||
//setHasOptionsMenu(true);
|
//setHasOptionsMenu(true);
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleExplore));
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getContext());
|
TinyDB tinyDb = new TinyDB(getContext());
|
||||||
final String instanceUrl = tinyDb.getString("instanceUrl");
|
final String instanceUrl = tinyDb.getString("instanceUrl");
|
||||||
|
@ -24,7 +24,6 @@ import android.widget.ImageView;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
|
||||||
import org.mian.gitnex.activities.NewRepoActivity;
|
import org.mian.gitnex.activities.NewRepoActivity;
|
||||||
import org.mian.gitnex.adapters.MyReposListAdapter;
|
import org.mian.gitnex.adapters.MyReposListAdapter;
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
import org.mian.gitnex.helpers.Authorization;
|
||||||
@ -83,7 +82,6 @@ public class MyRepositoriesFragment extends Fragment {
|
|||||||
|
|
||||||
final View v = inflater.inflate(R.layout.fragment_my_repositories, container, false);
|
final View v = inflater.inflate(R.layout.fragment_my_repositories, container, false);
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleMyRepos));
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getContext());
|
TinyDB tinyDb = new TinyDB(getContext());
|
||||||
final String instanceUrl = tinyDb.getString("instanceUrl");
|
final String instanceUrl = tinyDb.getString("instanceUrl");
|
||||||
|
@ -23,7 +23,6 @@ import android.widget.ImageView;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
|
||||||
import org.mian.gitnex.activities.NewOrganizationActivity;
|
import org.mian.gitnex.activities.NewOrganizationActivity;
|
||||||
import org.mian.gitnex.adapters.OrganizationsListAdapter;
|
import org.mian.gitnex.adapters.OrganizationsListAdapter;
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
import org.mian.gitnex.helpers.Authorization;
|
||||||
@ -50,7 +49,6 @@ public class OrganizationsFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleOrganizations));
|
|
||||||
final View v = inflater.inflate(R.layout.fragment_organizations, container, false);
|
final View v = inflater.inflate(R.layout.fragment_organizations, container, false);
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package org.mian.gitnex.fragments;
|
package org.mian.gitnex.fragments;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@ -37,7 +38,6 @@ public class ProfileFragment extends Fragment {
|
|||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|
||||||
View v = inflater.inflate(R.layout.fragment_profile, container, false);
|
View v = inflater.inflate(R.layout.fragment_profile, container, false);
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleProfile));
|
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getContext());
|
TinyDB tinyDb = new TinyDB(getContext());
|
||||||
@ -57,8 +57,43 @@ public class ProfileFragment extends Fragment {
|
|||||||
ViewPager mViewPager = v.findViewById(R.id.container);
|
ViewPager mViewPager = v.findViewById(R.id.container);
|
||||||
mViewPager.setAdapter(mSectionsPagerAdapter);
|
mViewPager.setAdapter(mSectionsPagerAdapter);
|
||||||
|
|
||||||
|
Typeface myTypeface;
|
||||||
|
if(tinyDb.getInt("customFontId") == 0) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 1) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getContext()).getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (tinyDb.getInt("customFontId") == 2) {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getContext()).getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
TabLayout tabLayout = v.findViewById(R.id.tabs);
|
TabLayout tabLayout = v.findViewById(R.id.tabs);
|
||||||
|
|
||||||
|
ViewGroup vg = (ViewGroup) tabLayout.getChildAt(0);
|
||||||
|
int tabsCount = vg.getChildCount();
|
||||||
|
for (int j = 0; j < tabsCount; j++) {
|
||||||
|
ViewGroup vgTab = (ViewGroup) vg.getChildAt(j);
|
||||||
|
int tabChildCount = vgTab.getChildCount();
|
||||||
|
for (int i = 0; i < tabChildCount; i++) {
|
||||||
|
View tabViewChild = vgTab.getChildAt(i);
|
||||||
|
if (tabViewChild instanceof TextView) {
|
||||||
|
((TextView) tabViewChild).setTypeface(myTypeface);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
|
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
|
||||||
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
|
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ import android.widget.ImageView;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
|
||||||
import org.mian.gitnex.activities.NewRepoActivity;
|
import org.mian.gitnex.activities.NewRepoActivity;
|
||||||
import org.mian.gitnex.adapters.ReposListAdapter;
|
import org.mian.gitnex.adapters.ReposListAdapter;
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
import org.mian.gitnex.helpers.Authorization;
|
||||||
@ -54,7 +53,6 @@ public class RepositoriesFragment extends Fragment {
|
|||||||
|
|
||||||
final View v = inflater.inflate(R.layout.fragment_repositories, container, false);
|
final View v = inflater.inflate(R.layout.fragment_repositories, container, false);
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleRepositories));
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getContext());
|
TinyDB tinyDb = new TinyDB(getContext());
|
||||||
final String instanceUrl = tinyDb.getString("instanceUrl");
|
final String instanceUrl = tinyDb.getString("instanceUrl");
|
||||||
|
@ -13,7 +13,6 @@ import android.widget.LinearLayout;
|
|||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
|
||||||
import org.mian.gitnex.helpers.Toasty;
|
import org.mian.gitnex.helpers.Toasty;
|
||||||
import org.mian.gitnex.util.TinyDB;
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -42,11 +41,13 @@ public class SettingsFragment extends Fragment {
|
|||||||
private static String[] homeScreenList = {"My Repositories", "Starred Repositories", "Organizations", "Repositories", "Profile"};
|
private static String[] homeScreenList = {"My Repositories", "Starred Repositories", "Organizations", "Repositories", "Profile"};
|
||||||
private static int homeScreenSelectedChoice = 0;
|
private static int homeScreenSelectedChoice = 0;
|
||||||
|
|
||||||
|
private static String[] customFontList = {"Roboto", "Manrope", "Source Code Pro"};
|
||||||
|
private static int customFontSelectedChoice = 0;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleSettings));
|
|
||||||
View v = inflater.inflate(R.layout.fragment_settings, container, false);
|
View v = inflater.inflate(R.layout.fragment_settings, container, false);
|
||||||
final TinyDB tinyDb = new TinyDB(getContext());
|
final TinyDB tinyDb = new TinyDB(getContext());
|
||||||
|
|
||||||
@ -54,11 +55,13 @@ public class SettingsFragment extends Fragment {
|
|||||||
final TextView tvDateTimeSelected = v.findViewById(R.id.tvDateTimeSelected); // setter for time
|
final TextView tvDateTimeSelected = v.findViewById(R.id.tvDateTimeSelected); // setter for time
|
||||||
final TextView codeBlockSelected = v.findViewById(R.id.codeBlockSelected); // setter for code block
|
final TextView codeBlockSelected = v.findViewById(R.id.codeBlockSelected); // setter for code block
|
||||||
final TextView homeScreenSelected = v.findViewById(R.id.homeScreenSelected); // setter for home screen
|
final TextView homeScreenSelected = v.findViewById(R.id.homeScreenSelected); // setter for home screen
|
||||||
|
final TextView customFontSelected = v.findViewById(R.id.customFontSelected); // setter for custom font
|
||||||
|
|
||||||
LinearLayout langFrame = v.findViewById(R.id.langFrame);
|
LinearLayout langFrame = v.findViewById(R.id.langFrame);
|
||||||
LinearLayout timeFrame = v.findViewById(R.id.timeFrame);
|
LinearLayout timeFrame = v.findViewById(R.id.timeFrame);
|
||||||
LinearLayout codeBlockFrame = v.findViewById(R.id.codeBlockFrame);
|
LinearLayout codeBlockFrame = v.findViewById(R.id.codeBlockFrame);
|
||||||
LinearLayout homeScreenFrame = v.findViewById(R.id.homeScreenFrame);
|
LinearLayout homeScreenFrame = v.findViewById(R.id.homeScreenFrame);
|
||||||
|
LinearLayout customFontFrame = v.findViewById(R.id.customFontFrame);
|
||||||
|
|
||||||
Switch issuesSwitch = v.findViewById(R.id.switchIssuesBadge);
|
Switch issuesSwitch = v.findViewById(R.id.switchIssuesBadge);
|
||||||
TextView helpTranslate = v.findViewById(R.id.helpTranslate);
|
TextView helpTranslate = v.findViewById(R.id.helpTranslate);
|
||||||
@ -89,6 +92,10 @@ public class SettingsFragment extends Fragment {
|
|||||||
homeScreenSelected.setText(tinyDb.getString("homeScreenStr"));
|
homeScreenSelected.setText(tinyDb.getString("homeScreenStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!tinyDb.getString("customFontStr").isEmpty()) {
|
||||||
|
customFontSelected.setText(tinyDb.getString("customFontStr"));
|
||||||
|
}
|
||||||
|
|
||||||
if(langSelectedChoice == 0) {
|
if(langSelectedChoice == 0) {
|
||||||
langSelectedChoice = tinyDb.getInt("langId");
|
langSelectedChoice = tinyDb.getInt("langId");
|
||||||
}
|
}
|
||||||
@ -105,6 +112,10 @@ public class SettingsFragment extends Fragment {
|
|||||||
homeScreenSelectedChoice = tinyDb.getInt("homeScreenId");
|
homeScreenSelectedChoice = tinyDb.getInt("homeScreenId");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(customFontSelectedChoice == 0) {
|
||||||
|
customFontSelectedChoice = tinyDb.getInt("customFontId");
|
||||||
|
}
|
||||||
|
|
||||||
if(tinyDb.getBoolean("enableCounterIssueBadge")) {
|
if(tinyDb.getBoolean("enableCounterIssueBadge")) {
|
||||||
issuesSwitch.setChecked(true);
|
issuesSwitch.setChecked(true);
|
||||||
}
|
}
|
||||||
@ -124,6 +135,44 @@ public class SettingsFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// custom font dialog
|
||||||
|
customFontFrame.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
|
||||||
|
AlertDialog.Builder cfBuilder = new AlertDialog.Builder(ctx, R.style.confirmDialog);
|
||||||
|
|
||||||
|
cfBuilder.setTitle(R.string.settingsCustomFontSelectorDialogTitle);
|
||||||
|
if(customFontSelectedChoice != -1) {
|
||||||
|
cfBuilder.setCancelable(true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cfBuilder.setCancelable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
cfBuilder.setSingleChoiceItems(customFontList, customFontSelectedChoice, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialogInterfaceCustomFont, int i) {
|
||||||
|
|
||||||
|
customFontSelectedChoice = i;
|
||||||
|
customFontSelected.setText(customFontList[i]);
|
||||||
|
tinyDb.putString("customFontStr", customFontList[i]);
|
||||||
|
tinyDb.putInt("customFontId", i);
|
||||||
|
|
||||||
|
Objects.requireNonNull(getActivity()).recreate();
|
||||||
|
getActivity().overridePendingTransition(0, 0);
|
||||||
|
dialogInterfaceCustomFont.dismiss();
|
||||||
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
AlertDialog cfDialog = cfBuilder.create();
|
||||||
|
cfDialog.show();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// home screen dialog
|
// home screen dialog
|
||||||
homeScreenFrame.setOnClickListener(new View.OnClickListener() {
|
homeScreenFrame.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -24,7 +24,6 @@ import android.widget.ImageView;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
|
||||||
import org.mian.gitnex.activities.NewRepoActivity;
|
import org.mian.gitnex.activities.NewRepoActivity;
|
||||||
import org.mian.gitnex.adapters.StarredReposListAdapter;
|
import org.mian.gitnex.adapters.StarredReposListAdapter;
|
||||||
import org.mian.gitnex.helpers.Authorization;
|
import org.mian.gitnex.helpers.Authorization;
|
||||||
@ -79,7 +78,6 @@ public class StarredRepositoriesFragment extends Fragment {
|
|||||||
View v = inflater.inflate(R.layout.fragment_starred_repositories, container, false);
|
View v = inflater.inflate(R.layout.fragment_starred_repositories, container, false);
|
||||||
boolean connToInternet = AppUtil.haveNetworkConnection(Objects.requireNonNull(getContext()));
|
boolean connToInternet = AppUtil.haveNetworkConnection(Objects.requireNonNull(getContext()));
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
((MainActivity) Objects.requireNonNull(getActivity())).setActionBarTitle(getResources().getString(R.string.pageTitleStarredRepos));
|
|
||||||
|
|
||||||
TinyDB tinyDb = new TinyDB(getContext());
|
TinyDB tinyDb = new TinyDB(getContext());
|
||||||
final String instanceUrl = tinyDb.getString("instanceUrl");
|
final String instanceUrl = tinyDb.getString("instanceUrl");
|
||||||
|
43
app/src/main/java/org/mian/gitnex/helpers/FontsOverride.java
Normal file
43
app/src/main/java/org/mian/gitnex/helpers/FontsOverride.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package org.mian.gitnex.helpers;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Typeface;
|
||||||
|
import android.util.Log;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Author M M Arif
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class FontsOverride {
|
||||||
|
|
||||||
|
public static void setDefaultFont(Context context,
|
||||||
|
String staticTypefaceFieldName, String fontAssetName) {
|
||||||
|
|
||||||
|
final Typeface regular = Typeface.createFromAsset(context.getAssets(),
|
||||||
|
fontAssetName);
|
||||||
|
replaceFont(staticTypefaceFieldName, regular);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void replaceFont(String staticTypefaceFieldName,
|
||||||
|
final Typeface newTypeface) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
final Field staticField = Typeface.class
|
||||||
|
.getDeclaredField(staticTypefaceFieldName);
|
||||||
|
staticField.setAccessible(true);
|
||||||
|
staticField.set(null, newTypeface);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (NoSuchFieldException | IllegalAccessException e) {
|
||||||
|
|
||||||
|
Log.e("error", Objects.requireNonNull(e.getMessage()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -19,7 +19,17 @@
|
|||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="?attr/colorPrimary"
|
android:background="?attr/colorPrimary"
|
||||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||||
app:title="@string/app_name" />
|
app:title="@string/app_name" >
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:id="@+id/toolbar_title" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
<LinearLayout
|
<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">
|
||||||
>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.Toolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -24,12 +23,23 @@
|
|||||||
app:titleTextColor="@color/white"
|
app:titleTextColor="@color/white"
|
||||||
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
|
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
|
||||||
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
|
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
|
||||||
android:elevation="4dp"/>
|
android:elevation="4dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:id="@+id/toolbar_title" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/fragment_container"
|
android:id="@+id/fragment_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"/>
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<com.google.android.material.navigation.NavigationView
|
<com.google.android.material.navigation.NavigationView
|
||||||
|
@ -26,6 +26,14 @@
|
|||||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||||
app:title="@string/app_name">
|
app:title="@string/app_name">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:id="@+id/toolbar_title" />
|
||||||
|
|
||||||
</androidx.appcompat.widget.Toolbar>
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
|
@ -24,6 +24,14 @@
|
|||||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||||
app:title="@string/app_name">
|
app:title="@string/app_name">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:id="@+id/toolbar_title" />
|
||||||
|
|
||||||
</androidx.appcompat.widget.Toolbar>
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
|
@ -135,4 +135,34 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/customFontFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/customFontHeaderSelector"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginStart="44dp"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:text="@string/settingsCustomFontHeaderText"
|
||||||
|
android:textColor="@color/white"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/customFontSelected"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:layout_marginStart="44dp"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:text="@string/defaultCopy"
|
||||||
|
android:textColor="@color/white"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -5,8 +5,8 @@
|
|||||||
<item name="android:statusBarColor">@color/colorPrimary</item>
|
<item name="android:statusBarColor">@color/colorPrimary</item>
|
||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimary</item>
|
<item name="colorPrimaryDark">@color/colorPrimary</item>
|
||||||
<item name="android:fontFamily">@font/roboto</item>
|
|
||||||
<item name="android:windowBackground">@color/colorPrimary</item>
|
<item name="android:windowBackground">@color/colorPrimary</item>
|
||||||
|
<item name="android:typeface">monospace</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@ -244,7 +244,7 @@
|
|||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="settingsLanguageHeaderText">Translation</string>
|
<string name="settingsLanguageHeaderText">Translation</string>
|
||||||
<string name="settingsDateTimeHeaderText">Date & Time</string>
|
<string name="settingsDateTimeHeaderText">Date & Time</string>
|
||||||
<string name="settingsSave">Settings saved.</string>
|
<string name="settingsSave">Settings saved</string>
|
||||||
<string name="settingsLanguageSelectorHeader">Language</string>
|
<string name="settingsLanguageSelectorHeader">Language</string>
|
||||||
<string name="settingsLanguageSelectedHeaderDefault">English</string>
|
<string name="settingsLanguageSelectedHeaderDefault">English</string>
|
||||||
<string name="settingsAppearanceHeader">Appearance</string>
|
<string name="settingsAppearanceHeader">Appearance</string>
|
||||||
@ -497,6 +497,7 @@
|
|||||||
<string name="dashCharacter" translatable="false">-</string>
|
<string name="dashCharacter" translatable="false">-</string>
|
||||||
<string name="strPrivate" translatable="false">private</string>
|
<string name="strPrivate" translatable="false">private</string>
|
||||||
<string name="strPublic" translatable="false">public</string>
|
<string name="strPublic" translatable="false">public</string>
|
||||||
|
<string name="defaultCopy" translatable="false">Default</string>
|
||||||
<!-- generic copy -->
|
<!-- generic copy -->
|
||||||
|
|
||||||
<string name="translateText">Translate GitNex with Crowdin</string>
|
<string name="translateText">Translate GitNex with Crowdin</string>
|
||||||
@ -542,4 +543,8 @@
|
|||||||
<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="settingsCustomFontHeaderText">Font</string>
|
||||||
|
<string name="settingsCustomFontSelectorDialogTitle">Choose Font</string>
|
||||||
|
<string name="settingsCustomFontDefault">Roboto</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
<item name="android:fontFamily">@font/roboto</item>
|
|
||||||
<item name="drawerArrowStyle">@style/DrawerIcon</item>
|
<item name="drawerArrowStyle">@style/DrawerIcon</item>
|
||||||
<item name="colorControlHighlight">#123456</item>
|
<item name="colorControlHighlight">#123456</item>
|
||||||
|
<item name="android:typeface">monospace</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="DrawerIcon" parent="Widget.AppCompat.DrawerArrowToggle">
|
<style name="DrawerIcon" parent="Widget.AppCompat.DrawerArrowToggle">
|
||||||
|
Loading…
Reference in New Issue
Block a user