diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a13a7e14..76675bfd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -11,7 +12,8 @@ android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/app_logo_round" - android:supportsRtl="true"> + android:supportsRtl="true" + tools:targetApi="n"> - + diff --git a/app/src/main/java/org/mian/gitnex/activities/FileViewActivity.java b/app/src/main/java/org/mian/gitnex/activities/FileViewActivity.java index 8cf6f63b..ba336ed6 100644 --- a/app/src/main/java/org/mian/gitnex/activities/FileViewActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/FileViewActivity.java @@ -50,6 +50,7 @@ public class FileViewActivity extends BaseActivity { private PDFView pdfView; private LinearLayout pdfViewFrame; private byte[] decodedPdf; + private Boolean $nightMode; @Override protected int getLayoutResourceId(){ @@ -111,6 +112,8 @@ public class FileViewActivity extends BaseActivity { private void getSingleFileContents(String instanceUrl, String token, final String owner, String repo, final String filename) { + final TinyDB tinyDb = new TinyDB(getApplicationContext()); + Call call = RetrofitClient .getInstance(instanceUrl, getApplicationContext()) .getApiInterface() @@ -162,6 +165,8 @@ public class FileViewActivity extends BaseActivity { singleCodeContents.setVisibility(View.GONE); pdfViewFrame.setVisibility(View.VISIBLE); + $nightMode = tinyDb.getBoolean("enablePdfMode"); + decodedPdf = Base64.decode(response.body().getContent(), Base64.DEFAULT); pdfView.fromBytes(decodedPdf) .enableSwipe(true) @@ -178,7 +183,7 @@ public class FileViewActivity extends BaseActivity { .fitEachPage(true) .pageSnap(false) .pageFling(true) - .nightMode(false) + .nightMode($nightMode) .load(); } diff --git a/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java index 9d195090..6eb3c1cc 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java @@ -83,6 +83,7 @@ public class RepoStargazersAdapter extends BaseAdapter { final TinyDB tinyDb = new TinyDB(mCtx); Typeface myTypeface; + if(tinyDb.getInt("customFontId") == 0) { myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf"); @@ -113,6 +114,16 @@ public class RepoStargazersAdapter extends BaseAdapter { viewHolder.memberName.setTypeface(myTypeface); } + if(tinyDb.getInt("themeId") == 0) { // dark + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.white)); + } + else if(tinyDb.getInt("themeId") == 1) { //light + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.lightThemeTextColor)); + } + else { + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.white)); + } + } } diff --git a/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java index 11304210..92a5515f 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java @@ -83,6 +83,7 @@ public class RepoWatchersAdapter extends BaseAdapter { final TinyDB tinyDb = new TinyDB(mCtx); Typeface myTypeface; + if(tinyDb.getInt("customFontId") == 0) { myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf"); @@ -113,6 +114,16 @@ public class RepoWatchersAdapter extends BaseAdapter { viewHolder.memberName.setTypeface(myTypeface); } + if(tinyDb.getInt("themeId") == 0) { // dark + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.white)); + } + else if(tinyDb.getInt("themeId") == 1) { //light + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.lightThemeTextColor)); + } + else { + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.white)); + } + } } diff --git a/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java index db9c68af..7efbbabf 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java @@ -25,7 +25,7 @@ public class TeamMembersByOrgAdapter extends BaseAdapter { private List teamMembersList; private Context mCtx; - private class ViewHolder { + private static class ViewHolder { private ImageView memberAvatar; private TextView memberName; @@ -65,7 +65,7 @@ public class TeamMembersByOrgAdapter extends BaseAdapter { if (finalView == null) { finalView = LayoutInflater.from(mCtx).inflate(R.layout.members_by_team_by_org_list, null); - viewHolder = new TeamMembersByOrgAdapter.ViewHolder(finalView); + viewHolder = new ViewHolder(finalView); finalView.setTag(viewHolder); } else { @@ -84,6 +84,7 @@ public class TeamMembersByOrgAdapter extends BaseAdapter { final TinyDB tinyDb = new TinyDB(mCtx); Typeface myTypeface; + if(tinyDb.getInt("customFontId") == 0) { myTypeface = Typeface.createFromAsset(mCtx.getAssets(), "fonts/roboto.ttf"); @@ -114,5 +115,15 @@ public class TeamMembersByOrgAdapter extends BaseAdapter { viewHolder.memberName.setTypeface(myTypeface); } + if(tinyDb.getInt("themeId") == 0) { // dark + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.white)); + } + else if(tinyDb.getInt("themeId") == 1) { //light + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.lightThemeTextColor)); + } + else { + viewHolder.memberName.setTextColor(mCtx.getResources().getColor(R.color.white)); + } + } } diff --git a/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java b/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java index f1ec516d..492af7c4 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java @@ -69,6 +69,7 @@ public class SettingsFragment extends Fragment { LinearLayout themeFrame = v.findViewById(R.id.themeSelectionFrame); Switch issuesSwitch = v.findViewById(R.id.switchIssuesBadge); + Switch pdfModeSwitch = v.findViewById(R.id.switchPdfMode); TextView helpTranslate = v.findViewById(R.id.helpTranslate); helpTranslate.setOnClickListener(new View.OnClickListener() { @@ -132,6 +133,16 @@ public class SettingsFragment extends Fragment { if(tinyDb.getBoolean("enableCounterIssueBadge")) { issuesSwitch.setChecked(true); } + else { + issuesSwitch.setChecked(false); + } + + if(tinyDb.getBoolean("enablePdfMode")) { + pdfModeSwitch.setChecked(true); + } + else { + pdfModeSwitch.setChecked(false); + } // issues badge switcher issuesSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @@ -148,6 +159,21 @@ public class SettingsFragment extends Fragment { } }); + // pdf night mode switcher + pdfModeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked) { + tinyDb.putBoolean("enablePdfMode", true); + tinyDb.putString("enablePdfModeInit", "yes"); + Toasty.info(getContext(), getResources().getString(R.string.settingsSave)); + } else { + tinyDb.putBoolean("enablePdfMode", false); + tinyDb.putString("enablePdfModeInit", "yes"); + Toasty.info(getContext(), getResources().getString(R.string.settingsSave)); + } + } + }); + // theme selection dialog themeFrame.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/res/layout/activity_org_team_members.xml b/app/src/main/res/layout/activity_org_team_members.xml index cfa7e6af..8ea652e6 100644 --- a/app/src/main/res/layout/activity_org_team_members.xml +++ b/app/src/main/res/layout/activity_org_team_members.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/colorPrimary" + android:background="?attr/primaryBackgroundColor" android:orientation="vertical"> @@ -49,6 +49,7 @@ android:numColumns="4" android:columnWidth="80dp" android:stretchMode="columnWidth" + android:background="?attr/primaryBackgroundColor" android:gravity="center"/> diff --git a/app/src/main/res/layout/activity_repo_stargazers.xml b/app/src/main/res/layout/activity_repo_stargazers.xml index 47136de5..a2ee2c89 100644 --- a/app/src/main/res/layout/activity_repo_stargazers.xml +++ b/app/src/main/res/layout/activity_repo_stargazers.xml @@ -49,6 +49,7 @@ android:numColumns="4" android:columnWidth="80dp" android:stretchMode="columnWidth" + android:background="?attr/primaryBackgroundColor" android:gravity="center"/> + android:imeOptions="actionSend" + android:autofillHints="@string/exploreTextBoxHint" /> + + + + diff --git a/app/src/main/res/layout/layout_settings_fileview.xml b/app/src/main/res/layout/layout_settings_fileview.xml new file mode 100644 index 00000000..42b86b8d --- /dev/null +++ b/app/src/main/res/layout/layout_settings_fileview.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/members_by_team_by_org_list.xml b/app/src/main/res/layout/members_by_team_by_org_list.xml index 36043111..32ac648c 100644 --- a/app/src/main/res/layout/members_by_team_by_org_list.xml +++ b/app/src/main/res/layout/members_by_team_by_org_list.xml @@ -4,7 +4,6 @@ android:id="@+id/gridViewData" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/primaryBackgroundColor" android:orientation="vertical"> + android:textSize="14sp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/repo_stargazers_list.xml b/app/src/main/res/layout/repo_stargazers_list.xml index 407417fb..b82e12d1 100644 --- a/app/src/main/res/layout/repo_stargazers_list.xml +++ b/app/src/main/res/layout/repo_stargazers_list.xml @@ -4,7 +4,6 @@ android:id="@+id/gridViewData" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/primaryBackgroundColor" android:orientation="vertical"> + android:textSize="14sp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/repo_watchers_list.xml b/app/src/main/res/layout/repo_watchers_list.xml index 33d74779..1c38c5b1 100644 --- a/app/src/main/res/layout/repo_watchers_list.xml +++ b/app/src/main/res/layout/repo_watchers_list.xml @@ -4,7 +4,6 @@ android:id="@+id/gridViewData" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/primaryBackgroundColor" android:orientation="vertical"> + android:textSize="14sp" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index de0225ab..1af444d0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -265,6 +265,8 @@ Select App Theme Theme Dark + PDF Night Mode + File Viewer No more data available diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 4c5c432d..98ca895a 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -4,7 +4,6 @@