diff --git a/app/build.gradle b/app/build.gradle index 74c9f538..84c8103d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,6 +25,7 @@ dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:26+' compile 'com.android.support:design:26+' + compile(name:'colorpicker', ext:'aar') compile files('libs/twitter4j-core-4.0.4.jar') } diff --git a/app/libs/colorpicker.aar b/app/libs/colorpicker.aar new file mode 100644 index 00000000..d97641af Binary files /dev/null and b/app/libs/colorpicker.aar differ diff --git a/app/src/main/java/org/nuclearfog/twidda/MainActivity.java b/app/src/main/java/org/nuclearfog/twidda/MainActivity.java index 10c8b892..c63caf47 100644 --- a/app/src/main/java/org/nuclearfog/twidda/MainActivity.java +++ b/app/src/main/java/org/nuclearfog/twidda/MainActivity.java @@ -122,6 +122,16 @@ public class MainActivity extends AppCompatActivity } } + @Override + protected void onPause(){ + super.onPause(); + } + + @Override + protected void onResume(){ + super.onResume(); + } + /** * Load Preferences */ diff --git a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java index 98fe023f..f167c19b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java @@ -4,7 +4,6 @@ import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -14,16 +13,24 @@ import android.widget.EditText; import android.widget.NumberPicker; import android.widget.Switch; +import com.flask.colorpicker.ColorPickerView; +import com.flask.colorpicker.OnColorSelectedListener; +import com.flask.colorpicker.builder.ColorPickerDialogBuilder; + import org.nuclearfog.twidda.R; -public class AppSettings extends AppCompatActivity { +public class AppSettings extends AppCompatActivity implements View.OnClickListener{ - private Button delButon; + private Button delButon,save_woeid, colorButton1, colorButton2; + private int backgroundColor, fontColor; + private int mode; private Switch toggleImg; private EditText woeId; private SharedPreferences settings; private NumberPicker load_factor; private Editor edit; + private boolean modified = false; + private boolean imgldr; @Override protected void onCreate(Bundle savedInst) { @@ -34,19 +41,26 @@ public class AppSettings extends AppCompatActivity { int location = settings.getInt("woeid",23424829); edit = settings.edit(); - Toolbar tool = (Toolbar) findViewById(R.id.toolbar_setting); load_factor = (NumberPicker)findViewById(R.id.tweet_load); delButon = (Button) findViewById(R.id.delete_db); toggleImg = (Switch) findViewById(R.id.toggleImg); woeId = (EditText) findViewById(R.id.woeid); + colorButton1 = (Button) findViewById(R.id.color_background); + colorButton2 = (Button) findViewById(R.id.color_font); + save_woeid = (Button) findViewById(R.id.save_woeid); + + delButon.setOnClickListener(this); + colorButton1.setOnClickListener(this); + colorButton2.setOnClickListener(this); + save_woeid.setOnClickListener(this); - setSupportActionBar(tool); load_factor.setMinValue(5); load_factor.setMaxValue(100); toggleImg.setChecked(settings.getBoolean("image_load",false)); load_factor.setValue(settings.getInt("preload",10)); woeId.setText(""+location); + loadSettings(); setListener(); } @@ -54,7 +68,7 @@ public class AppSettings extends AppCompatActivity { * Create Actionbar */ @Override - public boolean onCreateOptionsMenu(Menu m) { + public boolean onCreateOptionsMenu( Menu m ) { getMenuInflater().inflate(R.menu.setting, m); return true; } @@ -63,7 +77,7 @@ public class AppSettings extends AppCompatActivity { * Actionbar selection */ @Override - public boolean onOptionsItemSelected(MenuItem item) { + public boolean onOptionsItemSelected( MenuItem item ) { switch(item.getItemId()) { case R.id.back_settings: finish(); @@ -74,26 +88,73 @@ public class AppSettings extends AppCompatActivity { @Override protected void onDestroy() { - edit.putInt("woeid", Integer.valueOf(woeId.getText().toString())); - edit.putInt("preload", load_factor.getValue()); - edit.apply(); + if(modified) { + edit.putInt("woeid", Integer.valueOf(woeId.getText().toString())); + edit.putInt("preload", load_factor.getValue()); + edit.putInt("background", backgroundColor); + edit.putInt("fontColor", fontColor); + edit.putBoolean("image_load", imgldr); + edit.apply(); + } super.onDestroy(); } + @Override + public void onClick(View v) { + switch(v.getId()) { + case R.id.delete_db: + deleteDatabase(getString(R.string.database)); + break; + case R.id.color_background: + mode=0; + setColorPicker(); + break; + case R.id.color_font: + mode=1; + setColorPicker(); + break; + case R.id.save_woeid: + modified=true; + break; + } + } + private void setListener() { toggleImg.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton b, boolean checked) { - edit.putBoolean("image_load", checked); - edit.apply(); - } - }); - - delButon.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getApplicationContext().deleteDatabase(getApplicationContext().getString(R.string.database)); + imgldr = checked; + modified = true; } }); } + + private void loadSettings() { + backgroundColor = settings.getInt("background",10); + fontColor = settings.getInt("fontColor",10); + } + + private void setColorPicker() { + ColorPickerDialogBuilder.with(this) + .showAlphaSlider(false) + .wheelType(ColorPickerView.WHEEL_TYPE.CIRCLE).density(20) + .setOnColorSelectedListener(new OnColorSelectedListener() { + @Override + public void onColorSelected(int i) { + changeColor(i); + } + }).build().show(); + } + + private void changeColor(int color) { + switch(mode){ + case(0): + backgroundColor = color; + break; + case(1): + fontColor = color; + break; + } + modified = true; + } } \ No newline at end of file diff --git a/app/src/main/res/layout/settings.xml b/app/src/main/res/layout/settings.xml index 9a885efc..ef4a4fb0 100644 --- a/app/src/main/res/layout/settings.xml +++ b/app/src/main/res/layout/settings.xml @@ -11,6 +11,28 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" /> + + +