Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
InstiApp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
RAHUL SHARMA
InstiApp
Commits
5bf7e5c6
Commit
5bf7e5c6
authored
Feb 04, 2019
by
Varun Patil
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add dark theme to settings
parent
e85df5b3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
36 deletions
+44
-36
app/src/main/java/app/insti/Utils.java
app/src/main/java/app/insti/Utils.java
+18
-15
app/src/main/java/app/insti/activity/MainActivity.java
app/src/main/java/app/insti/activity/MainActivity.java
+0
-21
app/src/main/java/app/insti/fragment/SettingsFragment.java
app/src/main/java/app/insti/fragment/SettingsFragment.java
+15
-0
app/src/main/res/drawable/ic_color_lens_gray_36dp.xml
app/src/main/res/drawable/ic_color_lens_gray_36dp.xml
+5
-0
app/src/main/res/xml/preferences.xml
app/src/main/res/xml/preferences.xml
+6
-0
No files found.
app/src/main/java/app/insti/Utils.java
View file @
5bf7e5c6
...
...
@@ -14,13 +14,13 @@ import android.support.transition.Slide;
import
android.support.transition.Transition
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentActivity
;
import
android.support.v4.app.FragmentManager
;
import
android.support.v4.app.FragmentTransaction
;
import
android.util.TypedValue
;
import
android.view.View
;
import
android.webkit.CookieManager
;
import
android.widget.Button
;
import
android.widget.ImageView
;
import
android.widget.Toast
;
import
com.google.gson.Gson
;
import
com.squareup.picasso.Callback
;
...
...
@@ -29,7 +29,6 @@ import com.squareup.picasso.Picasso;
import
java.util.HashMap
;
import
java.util.Map
;
import
app.insti.activity.MainActivity
;
import
app.insti.api.RetrofitInterface
;
import
app.insti.api.model.Body
;
import
app.insti.api.model.Event
;
...
...
@@ -37,6 +36,7 @@ import app.insti.api.model.Notification;
import
app.insti.api.model.User
;
import
app.insti.fragment.BodyFragment
;
import
app.insti.fragment.EventFragment
;
import
app.insti.fragment.SettingsFragment
;
import
app.insti.fragment.TransitionTargetChild
;
import
app.insti.fragment.TransitionTargetFragment
;
import
app.insti.fragment.UserFragment
;
...
...
@@ -49,7 +49,6 @@ public final class Utils {
private
static
String
sessionId
;
private
static
RetrofitInterface
retrofitInterface
;
public
static
Gson
gson
;
public
static
boolean
darkTheme
=
false
;
public
static
final
void
loadImageWithPlaceholder
(
final
ImageView
imageView
,
final
String
url
)
{
Picasso
.
get
()
...
...
@@ -231,18 +230,22 @@ public final class Utils {
Utils
.
gson
=
new
Gson
();
}
public
static
void
changeTheme
(
FragmentActivity
context
)
{
if
(
darkTheme
)
{
context
.
setTheme
(
R
.
style
.
AppTheme
);
}
else
{
Toast
.
makeText
(
context
,
"You have unlocked super max pro mode"
,
Toast
.
LENGTH_SHORT
).
show
();
context
.
setTheme
(
R
.
style
.
AppThemeDark
);
}
darkTheme
=
!
darkTheme
;
Intent
intent
=
new
Intent
(
context
,
MainActivity
.
class
);
context
.
startActivity
(
intent
);
context
.
overridePendingTransition
(
android
.
R
.
anim
.
fade_in
,
android
.
R
.
anim
.
fade_out
);
context
.
finish
();
public
static
void
changeTheme
(
SettingsFragment
fragment
,
boolean
darkTheme
)
{
FragmentActivity
fragmentActivity
=
fragment
.
getActivity
();
fragmentActivity
.
setTheme
(
darkTheme
?
R
.
style
.
AppThemeDark
:
R
.
style
.
AppTheme
);
// Set background color of activity
fragmentActivity
.
findViewById
(
R
.
id
.
drawer_layout
).
setBackgroundColor
(
getAttrColor
(
fragmentActivity
,
R
.
attr
.
themeColor
));
// Put in a new settings fragment
Fragment
newFragment
=
new
SettingsFragment
();
newFragment
.
setArguments
(
fragment
.
getArguments
());
FragmentManager
fm
=
fragmentActivity
.
getSupportFragmentManager
();
fm
.
popBackStack
();
FragmentTransaction
ft
=
fm
.
beginTransaction
();
ft
.
addToBackStack
(
newFragment
.
getTag
());
ft
.
replace
(
R
.
id
.
framelayout_for_fragment
,
newFragment
,
newFragment
.
getTag
()).
commit
();
}
public
static
void
setSelectedMenuItem
(
Activity
activity
,
int
id
)
{
...
...
app/src/main/java/app/insti/activity/MainActivity.java
View file @
5bf7e5c6
...
...
@@ -25,10 +25,8 @@ import android.support.v7.app.ActionBarDrawerToggle;
import
android.support.v7.app.AppCompatActivity
;
import
android.support.v7.widget.Toolbar
;
import
android.util.Log
;
import
android.view.GestureDetector
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.inputmethod.InputMethodManager
;
import
android.widget.ImageView
;
...
...
@@ -115,9 +113,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
@SuppressLint
(
"ClickableViewAccessibility"
)
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
if
(
Utils
.
darkTheme
)
{
setTheme
(
R
.
style
.
AppThemeDark_NoActionBar
);
}
super
.
onCreate
(
savedInstanceState
);
ServiceGenerator
serviceGenerator
=
new
ServiceGenerator
(
getApplicationContext
());
...
...
@@ -159,22 +154,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
}
}
toolbar
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
private
GestureDetector
gestureDetector
=
new
GestureDetector
(
MainActivity
.
this
,
new
GestureDetector
.
SimpleOnGestureListener
()
{
@Override
public
boolean
onDoubleTap
(
MotionEvent
e
)
{
Utils
.
changeTheme
(
MainActivity
.
this
);
return
super
.
onDoubleTap
(
e
);
}
});
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
gestureDetector
.
onTouchEvent
(
event
);
return
true
;
}
});
checkLatestVersion
();
}
...
...
app/src/main/java/app/insti/fragment/SettingsFragment.java
View file @
5bf7e5c6
...
...
@@ -23,6 +23,7 @@ import retrofit2.Response;
public
class
SettingsFragment
extends
PreferenceFragmentCompat
{
SwitchPreferenceCompat
showContactPref
;
SwitchPreferenceCompat
darkThemePref
;
Preference
profilePref
;
Preference
feedbackPref
;
Preference
aboutPref
;
...
...
@@ -43,6 +44,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
});
showContactPref
.
setEnabled
(
false
);
// Dark Theme
darkThemePref
=
(
SwitchPreferenceCompat
)
findPreference
(
"dark_theme"
);
darkThemePref
.
setOnPreferenceChangeListener
(
new
Preference
.
OnPreferenceChangeListener
()
{
@Override
public
boolean
onPreferenceChange
(
Preference
preference
,
Object
o
)
{
toggleDarkTheme
((
SwitchPreferenceCompat
)
preference
,
o
);
return
true
;
}
});
// Update Profile
profilePref
=
findPreference
(
"profile"
);
profilePref
.
setOnPreferenceClickListener
(
new
Preference
.
OnPreferenceClickListener
()
{
...
...
@@ -146,6 +157,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
});
}
public
void
toggleDarkTheme
(
final
SwitchPreferenceCompat
showContactPref
,
Object
o
)
{
Utils
.
changeTheme
(
this
,
(
boolean
)
o
);
}
public
void
openAbout
()
{
Utils
.
updateFragment
(
new
AboutFragment
(),
getActivity
());
}
...
...
app/src/main/res/drawable/ic_color_lens_gray_36dp.xml
0 → 100644
View file @
5bf7e5c6
<vector
android:height=
"36dp"
android:tint=
"#767676"
android:viewportHeight=
"24.0"
android:viewportWidth=
"24.0"
android:width=
"36dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<path
android:fillColor=
"#FF000000"
android:pathData=
"M12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9c0.83,0 1.5,-0.67 1.5,-1.5 0,-0.39 -0.15,-0.74 -0.39,-1.01 -0.23,-0.26 -0.38,-0.61 -0.38,-0.99 0,-0.83 0.67,-1.5 1.5,-1.5L16,16c2.76,0 5,-2.24 5,-5 0,-4.42 -4.03,-8 -9,-8zM6.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S5.67,9 6.5,9 8,9.67 8,10.5 7.33,12 6.5,12zM9.5,8C8.67,8 8,7.33 8,6.5S8.67,5 9.5,5s1.5,0.67 1.5,1.5S10.33,8 9.5,8zM14.5,8c-0.83,0 -1.5,-0.67 -1.5,-1.5S13.67,5 14.5,5s1.5,0.67 1.5,1.5S15.33,8 14.5,8zM17.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S16.67,9 17.5,9s1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"
/>
</vector>
app/src/main/res/xml/preferences.xml
View file @
5bf7e5c6
...
...
@@ -9,6 +9,12 @@
app:summary=
"Toggle visibility on your profile"
android:icon=
"@drawable/ic_local_phone_gray_36dp"
/>
<SwitchPreferenceCompat
app:key=
"dark_theme"
app:title=
"Dark Theme"
app:summary=
"Note: this feature is in beta"
android:icon=
"@drawable/ic_color_lens_gray_36dp"
/>
<Preference
app:key=
"profile"
app:title=
"Update Profile"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment