Skip to content

Commit 95ca698

Browse files
committed
Toolbar color customization support
1 parent 7cdaaac commit 95ca698

File tree

8 files changed

+211
-49
lines changed

8 files changed

+211
-49
lines changed

.gitignore

Lines changed: 80 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,82 @@
1+
# Built application files
2+
*.apk
3+
*.ap_
4+
*.aab
5+
6+
# Files for the ART/Dalvik VM
7+
*.dex
8+
9+
# Java class files
10+
*.class
11+
12+
# Generated files
13+
bin/
14+
gen/
15+
out/
16+
release/
17+
18+
# Gradle files
19+
.gradle/
20+
build/
21+
22+
# Local configuration file (sdk path, etc)
23+
local.properties
24+
25+
# Proguard folder generated by Eclipse
26+
proguard/
27+
28+
# Log Files
29+
*.log
30+
31+
# Android Studio Navigation editor temp files
32+
.navigation/
33+
34+
# Android Studio captures folder
35+
captures/
36+
37+
# IntelliJ
138
*.iml
2-
.gradle
3-
/local.properties
4-
/.idea/caches/build_file_checksums.ser
5-
/.idea/libraries
6-
/.idea/modules.xml
7-
/.idea/workspace.xml
8-
.DS_Store
9-
/build
10-
/captures
39+
.idea/workspace.xml
40+
.idea/tasks.xml
41+
.idea/gradle.xml
42+
.idea/assetWizardSettings.xml
43+
.idea/dictionaries
44+
.idea/libraries
45+
# Android Studio 3 in .gitignore file.
46+
.idea/caches
47+
.idea/modules.xml
48+
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
49+
.idea/navEditor.xml
50+
51+
# Keystore files
52+
# Uncomment the following lines if you do not want to check your keystore files in.
53+
#*.jks
54+
#*.keystore
55+
56+
# External native build folder generated in Android Studio 2.2 and later
1157
.externalNativeBuild
58+
59+
# Google Services (e.g. APIs or Firebase)
60+
# google-services.json
61+
62+
# Freeline
63+
freeline.py
64+
freeline/
65+
freeline_project_description.json
66+
67+
# fastlane
68+
fastlane/report.xml
69+
fastlane/Preview.html
70+
fastlane/screenshots
71+
fastlane/test_output
72+
fastlane/readme.md
73+
74+
# Version control
75+
vcs.xml
76+
77+
# lint
78+
lint/intermediates/
79+
lint/generated/
80+
lint/outputs/
81+
lint/tmp/
82+
# lint/reports/

.idea/caches/gradle_models.ser

2.93 KB
Binary file not shown.

.idea/codeStyles/Project.xml

Lines changed: 0 additions & 29 deletions
This file was deleted.

app/src/main/java/com/skrumble/imagepicketeditor/MainActivity.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.skrumble.imagepicketeditor;
22

33
import android.content.Intent;
4+
import android.graphics.Color;
45
import android.os.Build;
56
import android.os.Bundle;
67
import android.support.annotation.Nullable;
@@ -11,16 +12,20 @@
1112
import com.skrumble.picketeditor.PickerEditor;
1213
import com.skrumble.picketeditor.public_interface.OnCompletion;
1314
import com.skrumble.picketeditor.utility.PermUtil;
15+
import com.skrumble.picketeditor.utility.PickerEditorStyleParams;
1416

1517
import static com.skrumble.picketeditor.PickerEditor.RESULT_FILE;
1618

1719
public class MainActivity extends AppCompatActivity {
1820

21+
private PickerEditorStyleParams mStyleParams = new PickerEditorStyleParams(Color.parseColor("#4285f4"), Color.WHITE);
22+
1923
@Override
2024
protected void onCreate(Bundle savedInstanceState) {
2125
super.onCreate(savedInstanceState);
2226
setContentView(R.layout.activity_main);
2327

28+
PickerEditor.setGlobalStyleParams(mStyleParams);
2429
}
2530

2631
@Override
@@ -42,26 +47,26 @@ public void OnVideoPickerClick(View view) {
4247
PermUtil.checkForCamaraWritePermissions(this, new OnCompletion<Object, Boolean>() {
4348
@Override
4449
public void onCompleted(Object o, Boolean aBoolean) {
45-
PickerEditor.openVideoGallery(MainActivity.this, 1);
50+
PickerEditor.openVideoGallery(MainActivity.this, 1, mStyleParams);
4651
}
4752
});
4853
return;
4954
}
5055

51-
PickerEditor.openVideoGallery(MainActivity.this, 1);
56+
PickerEditor.openVideoGallery(MainActivity.this, 1, mStyleParams);
5257
}
5358

5459
public void OnImagePickClick(View view) {
5560
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
5661
PermUtil.checkForCamaraWritePermissions(this, new OnCompletion<Object, Boolean>() {
5762
@Override
5863
public void onCompleted(Object o, Boolean aBoolean) {
59-
PickerEditor.openPictureGallery(MainActivity.this, 1);
64+
PickerEditor.openPictureGallery(MainActivity.this, 1, mStyleParams);
6065
}
6166
});
6267
return;
6368
}
64-
PickerEditor.openPictureGallery(MainActivity.this, 1);
69+
PickerEditor.openPictureGallery(MainActivity.this, 1, mStyleParams);
6570
}
6671

6772
public void onCameraClick(View view) {

picketeditor/src/main/java/com/skrumble/picketeditor/PickerEditor.java

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,72 @@
22

33
import android.app.Activity;
44
import android.content.Intent;
5+
import android.graphics.Color;
6+
import android.os.Parcel;
7+
import android.os.Parcelable;
8+
import android.support.annotation.ColorInt;
59
import android.support.v4.app.Fragment;
610

711
import com.skrumble.picketeditor.activity.FileActivity;
812
import com.skrumble.picketeditor.activity.ImageCropActivity;
913
import com.skrumble.picketeditor.editor.video.VideoTrimmerActivity;
1014
import com.skrumble.picketeditor.activity.GalleryActivity;
1115
import com.skrumble.picketeditor.activity.CameraActivity;
16+
import com.skrumble.picketeditor.utility.PickerEditorStyleParams;
1217

1318
import static com.skrumble.picketeditor.activity.GalleryActivity.EXTRA_GALLERY_TYPE;
1419
import static com.skrumble.picketeditor.activity.GalleryActivity.GAlLERY_TYPE_PHOTO_AND_VIDEO;
1520
import static com.skrumble.picketeditor.activity.GalleryActivity.GAlLERY_TYPE_PICTURE;
1621
import static com.skrumble.picketeditor.activity.GalleryActivity.GAlLERY_TYPE_VIDEO;
1722
import static com.skrumble.picketeditor.activity.CameraActivity.SELECTION;
1823

24+
25+
1926
public class PickerEditor {
2027

2128
public static final String RESULT_FILE = "RESULT_FILE";
2229

30+
public static final String PICKER_EDITOR_STYLE = "PICKER_EDITOR_STYLE";
31+
32+
public static void setGlobalStyleParams(PickerEditorStyleParams styleParams) {
33+
PickerEditor.sStyleParams = styleParams;
34+
}
35+
36+
private static PickerEditorStyleParams sStyleParams = new PickerEditorStyleParams(Color.parseColor("#d53c27"), Color.WHITE);
37+
2338
// *********************************************************************************************
2439
// region Picker
2540

2641
public static void openPictureGallery(Activity activity, int requestCode) {
27-
openGallery(activity, requestCode, GAlLERY_TYPE_PICTURE);
42+
openGallery(activity, requestCode, GAlLERY_TYPE_PICTURE, sStyleParams);
43+
}
44+
45+
public static void openPictureGallery(Activity activity, int requestCode, PickerEditorStyleParams pickerEditorStyleParams) {
46+
openGallery(activity, requestCode, GAlLERY_TYPE_PICTURE, pickerEditorStyleParams);
2847
}
2948

3049
public static void openVideoGallery(Activity activity, int requestCode) {
31-
openGallery(activity, requestCode, GAlLERY_TYPE_VIDEO);
50+
openGallery(activity, requestCode, GAlLERY_TYPE_VIDEO, sStyleParams);
51+
}
52+
53+
public static void openVideoGallery(Activity activity, int requestCode, PickerEditorStyleParams pickerEditorStyleParams) {
54+
openGallery(activity, requestCode, GAlLERY_TYPE_VIDEO, pickerEditorStyleParams);
3255
}
3356

3457
public static void openPictureAndVideoGallery(Activity activity, int requestCode) {
35-
openGallery(activity, requestCode, GAlLERY_TYPE_PHOTO_AND_VIDEO);
58+
openGallery(activity, requestCode, GAlLERY_TYPE_PHOTO_AND_VIDEO, sStyleParams);
3659
}
3760

38-
private static void openGallery(Activity activity, int requestCode, int typeOfGallery) {
61+
public static void openPictureAndVideoGallery(Activity activity, int requestCode, PickerEditorStyleParams pickerEditorStyleParams) {
62+
openGallery(activity, requestCode, GAlLERY_TYPE_PHOTO_AND_VIDEO, pickerEditorStyleParams);
63+
}
64+
65+
private static void openGallery(Activity activity, int requestCode, int typeOfGallery, PickerEditorStyleParams pickerEditorStyleParams) {
3966
PickerEditorConfig.updateScreenSize(activity);
4067

4168
Intent intent = new Intent(activity, GalleryActivity.class);
4269
intent.putExtra(EXTRA_GALLERY_TYPE, typeOfGallery);
70+
intent.putExtra(PICKER_EDITOR_STYLE, pickerEditorStyleParams);
4371
activity.startActivityForResult(intent, requestCode);
4472
}
4573

@@ -153,7 +181,12 @@ public static void starVideoEditorForResult(Activity activity, String originalVi
153181
// region File
154182

155183
public static void pickFile(Activity activity, int requestCode){
184+
pickFile(activity, requestCode, sStyleParams);
185+
}
186+
187+
public static void pickFile(Activity activity, int requestCode, PickerEditorStyleParams pickerEditorStyleParams){
156188
Intent intent = new Intent(activity, FileActivity.class);
189+
intent.putExtra(PICKER_EDITOR_STYLE, pickerEditorStyleParams);
157190
activity.startActivityForResult(intent, requestCode);
158191
}
159192

picketeditor/src/main/java/com/skrumble/picketeditor/activity/FileActivity.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.support.annotation.Nullable;
1111
import android.support.design.widget.TabLayout;
1212
import android.support.v4.content.ContextCompat;
13+
import android.support.v4.graphics.ColorUtils;
1314
import android.support.v7.app.ActionBar;
1415
import android.support.v7.app.AppCompatActivity;
1516
import android.support.v7.widget.LinearLayoutManager;
@@ -29,18 +30,23 @@
2930
import com.skrumble.picketeditor.enumeration.GalleryType;
3031
import com.skrumble.picketeditor.model.Media;
3132
import com.skrumble.picketeditor.public_interface.OnCompletion;
33+
import com.skrumble.picketeditor.utility.PickerEditorStyleParams;
3234

3335
import java.util.ArrayList;
3436
import java.util.Arrays;
3537
import java.util.List;
3638

39+
import static com.skrumble.picketeditor.PickerEditor.PICKER_EDITOR_STYLE;
40+
3741
public class FileActivity extends AppCompatActivity implements TabLayout.BaseOnTabSelectedListener, SearchView.OnQueryTextListener {
3842

3943
private Toolbar toolbar;
4044
private TabLayout tabLayout;
4145
private RecyclerView recyclerView;
4246
FileAdapter fileAdapter;
4347

48+
private PickerEditorStyleParams mStyleParams;
49+
4450
private TabLayout.Tab currentTab;
4551

4652
private ArrayList<Media> mediaArrayList = new ArrayList<>();
@@ -50,12 +56,21 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5056
super.onCreate(savedInstanceState);
5157

5258
setContentView(R.layout.activity_file);
59+
60+
mStyleParams = getIntent().getParcelableExtra(PICKER_EDITOR_STYLE);
61+
5362
setupAppBar();
5463

5564
setTitle(R.string.attachement);
5665

5766
tabLayout = findViewById(R.id.tab_layout);
5867

68+
if (mStyleParams != null) {
69+
tabLayout.setTabTextColors(ColorUtils.setAlphaComponent(mStyleParams.getAccentColor(), 255/2), mStyleParams.getAccentColor());
70+
tabLayout.setSelectedTabIndicatorColor(mStyleParams.getAccentColor());
71+
}
72+
73+
5974
for (FileTypeTab typeTab: FileTypeTab.values()){
6075
tabLayout.addTab(tabLayout.newTab().setText(typeTab.title));
6176
}
@@ -108,8 +123,13 @@ public void onClick(View v) {
108123
}
109124
});
110125

126+
127+
111128
// Set all of the Toolbar coloring
112-
toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.ally_accent_color));
129+
if (mStyleParams != null) {
130+
toolbar.setBackgroundColor(mStyleParams.getAccentColor());
131+
toolbar.setTitleTextColor(mStyleParams.getTitleColor());
132+
}
113133

114134
toolbar.setVisibility(View.VISIBLE);
115135

picketeditor/src/main/java/com/skrumble/picketeditor/activity/GalleryActivity.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@
3131
import com.skrumble.picketeditor.model.Media;
3232
import com.skrumble.picketeditor.public_interface.OnClickAction;
3333
import com.skrumble.picketeditor.public_interface.OnCompletion;
34+
import com.skrumble.picketeditor.utility.PickerEditorStyleParams;
3435

3536
import java.util.ArrayList;
3637

38+
import static com.skrumble.picketeditor.PickerEditor.PICKER_EDITOR_STYLE;
39+
3740
public class GalleryActivity extends AppCompatActivity implements OnClickAction<Media> {
3841

3942
public static final String EXTRA_GALLERY_TYPE = "GALLERY_TYPE";
@@ -50,6 +53,8 @@ public class GalleryActivity extends AppCompatActivity implements OnClickAction
5053
private MediaGridAdapter mediaGridAdapter;
5154
private Toolbar toolbar;
5255

56+
private PickerEditorStyleParams mStyleParams;
57+
5358
@Override
5459
protected void onCreate(@Nullable Bundle savedInstanceState) {
5560
super.onCreate(savedInstanceState);
@@ -88,7 +93,7 @@ public void onClick(View v) {
8893
private void setGalleryType(Intent intent) {
8994

9095
int intExtra = intent.getIntExtra(EXTRA_GALLERY_TYPE, GAlLERY_TYPE_PHOTO_AND_VIDEO);
91-
96+
mStyleParams = intent.getParcelableExtra(PICKER_EDITOR_STYLE);
9297
galleryType = GalleryType.getGalleryTypeFromInt(intExtra);
9398

9499
setTitle(galleryType.title);
@@ -131,7 +136,10 @@ private void setupAppBar() {
131136
toolbar = findViewById(R.id.toolbar);
132137

133138
// Set all of the Toolbar coloring
134-
toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.ally_accent_color));
139+
if (mStyleParams != null) {
140+
toolbar.setBackgroundColor(mStyleParams.getAccentColor());
141+
toolbar.setTitleTextColor(mStyleParams.getTitleColor());
142+
}
135143

136144
toolbar.setVisibility(View.VISIBLE);
137145

0 commit comments

Comments
 (0)