Added WOEID Dropdown list

This commit is contained in:
NudeDude 2018-07-29 17:56:23 +02:00
parent 7787e54923
commit 8de39f6618
9 changed files with 144 additions and 86 deletions

View File

@ -23,9 +23,3 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-dontwarn
#-keep class twitter4j.** { *; }
#-keep class com.squareup.picasso.** { *; }

View File

@ -4,7 +4,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"

View File

@ -20,7 +20,6 @@ import android.widget.TabHost.TabSpec;
import org.nuclearfog.twidda.backend.GlobalSettings;
import org.nuclearfog.twidda.backend.MainPage;
import org.nuclearfog.twidda.backend.Registration;
import org.nuclearfog.twidda.backend.TwitterEngine;
import org.nuclearfog.twidda.backend.listitems.Tweet;
import org.nuclearfog.twidda.viewadapter.TimelineRecycler;
@ -32,11 +31,7 @@ import org.nuclearfog.twidda.window.TweetDetail;
import org.nuclearfog.twidda.window.TweetPopup;
import org.nuclearfog.twidda.window.UserProfile;
/**
* MainPage of the App
* @see Registration Registing App in Twitter
* @see MainPage show Home Window
*/
public class MainActivity extends AppCompatActivity implements
SwipeRefreshLayout.OnRefreshListener, TabHost.OnTabChangeListener,
TimelineRecycler.OnItemClicked, TrendRecycler.OnItemClicked
@ -280,9 +275,6 @@ public class MainActivity extends AppCompatActivity implements
}
/**
* Login Handle
*/
private void login() {
homeId = settings.getUserId();
timelineList = findViewById(R.id.tl_list);
@ -323,9 +315,7 @@ public class MainActivity extends AppCompatActivity implements
setTabContent();
}
/**
* Set Tab Content
*/
private void setTabContent() {
int background = settings.getBackgroundColor();
int fontcolor = settings.getFontColor();
@ -360,6 +350,7 @@ public class MainActivity extends AppCompatActivity implements
lastTab = tabhost.getCurrentView();
}
private void animate() {
final int ANIM_DUR = 300;
final int DIMENS = Animation.RELATIVE_TO_PARENT;

View File

@ -20,6 +20,7 @@ public class GlobalSettings {
private int row;
private int woeId;
private int woeIdPos;
private String key1, key2;
private long userId;
@ -27,17 +28,17 @@ public class GlobalSettings {
private GlobalSettings(Context context) {
settings = context.getSharedPreferences("settings",0);
woeId = settings.getInt("world_id",23424829);
background_color = settings.getInt("background_color", 0xff0f114a);
highlight_color = settings.getInt("highlight_color", 0xffff00ff);
font_color = settings.getInt("font_color", 0xffffffff);
woeId = settings.getInt("world_id",1);
background_color = settings.getInt("background_color",0xff0f114a);
highlight_color = settings.getInt("highlight_color",0xffff00ff);
font_color = settings.getInt("font_color",0xffffffff);
tweet_color = settings.getInt("tweet_color",0xff19aae8);
row = settings.getInt("preload",20);
loadImage = settings.getBoolean("image_load", true);
loadImage = settings.getBoolean("image_load",true);
loggedIn = settings.getBoolean("login", false);
key1 = settings.getString("key1", "");
key2 = settings.getString("key2", "");
userId = settings.getLong("userID", -1L);
key1 = settings.getString("key1","");
key2 = settings.getString("key2","");
userId = settings.getLong("userID",-1L);
}
public int getBackgroundColor() {
@ -64,6 +65,8 @@ public class GlobalSettings {
return woeId;
}
public int getWoeIdSelection(){return woeIdPos;}
public int getRowLimit() {
return row;
}
@ -117,10 +120,10 @@ public class GlobalSettings {
edit.apply();
}
public void setWoeId(int id) {
public void setWoeId(long id) {
Editor edit = settings.edit();
edit.putInt("world_id", id);
woeId = id;
edit.putInt("world_id",(int)id);
woeId = (int)id;
edit.apply();
}
@ -138,6 +141,13 @@ public class GlobalSettings {
edit.apply();
}
public void setWoeIdSelection(int pos) {
Editor edit = settings.edit();
edit.putInt("world_id_pos", pos);
woeIdPos = pos;
edit.apply();
}
public void setConnection(String key1, String key2, Long userId) {
Editor e = settings.edit();
loggedIn = true;

View File

@ -35,7 +35,7 @@ import twitter4j.conf.ConfigurationBuilder;
public class TwitterEngine {
private final String TWITTER_CONSUMER_KEY = "0EKRHWYcakpCkl8Lr4OcBFMZb";
private final String TWITTER_CONSUMER_SECRET = "xxx";
private final String TWITTER_CONSUMER_SECRET = "RQrf0uQus5v7IMuYgdlVeBuLw1ApRJhxcAMM8MyUVRh1nKSxnR";
private static TwitterEngine mTwitter;
private long twitterID = -1L;

View File

@ -0,0 +1,58 @@
package org.nuclearfog.twidda.viewadapter;
import android.content.Context;
import android.content.res.Resources;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import org.nuclearfog.twidda.R;
public class WorldIdAdapter extends ArrayAdapter {
private LayoutInflater mInflater;
private String[] location;
private int[] worldId;
public WorldIdAdapter(Context context) {
super(context, android.R.layout.simple_spinner_dropdown_item);
mInflater = LayoutInflater.from(context);
Resources res = context.getResources();
location = res.getStringArray(R.array.location);
worldId = res.getIntArray(R.array.woeId);
}
@Override
public int getCount() {
return location.length;
}
@Override
public String getItem(int position) {
return location[position];
}
@Override
public long getItemId(int position) {
return worldId[position];
}
@NonNull
@Override
public View getView(int position, @Nullable View view, @NonNull ViewGroup parent) {
if (view == null) {
view = mInflater.inflate(android.R.layout.simple_spinner_item, parent, false);
}
TextView country = view.findViewById(android.R.id.text1);
country.setText(getItem(position));
return view;
}
}

View File

@ -1,8 +1,6 @@
package org.nuclearfog.twidda.window;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.ClipboardManager;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
@ -13,11 +11,15 @@ import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.NumberPicker;
import android.widget.Spinner;
import android.widget.Toast;
import com.flask.colorpicker.ColorPickerView;
@ -28,21 +30,23 @@ import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.GlobalSettings;
import org.nuclearfog.twidda.database.ErrorLog;
import org.nuclearfog.twidda.viewadapter.LogAdapter;
import org.nuclearfog.twidda.viewadapter.WorldIdAdapter;
import java.util.List;
public class AppSettings extends AppCompatActivity implements View.OnClickListener,
CompoundButton.OnCheckedChangeListener, OnColorChangedListener {
public class AppSettings extends AppCompatActivity implements OnClickListener,
OnCheckedChangeListener, OnColorChangedListener, OnItemSelectedListener {
private EditText woeId;
private GlobalSettings settings;
private ClipboardManager clip;
private CheckBox toggleImg;
private Button colorButton1,colorButton2,colorButton3,colorButton4;
private Spinner woeId;
private int background,tweet,font,highlight;
private boolean imgEnabled;
private int row, wId;
private long wId;
private int row;
private int woeIdPos;
private int mode = 0;
@Override
@ -56,30 +60,28 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen
settings = GlobalSettings.getInstance(this);
clip = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
Button delButton = findViewById(R.id.delete_db);
Button errorcall = findViewById(R.id.error_call);
Button errorCall = findViewById(R.id.error_call);
colorButton1 = findViewById(R.id.color_background);
colorButton2 = findViewById(R.id.color_font);
colorButton3 = findViewById(R.id.color_tweet);
colorButton4 = findViewById(R.id.highlight_color);
Button clipButton = findViewById(R.id.woeid_clip);
woeId = findViewById(R.id.woeid);
Button load_popup = findViewById(R.id.load_dialog);
toggleImg = findViewById(R.id.toggleImg);
woeId = findViewById(R.id.woeid);
load();
load_popup.setOnClickListener(this);
delButton.setOnClickListener(this);
errorcall.setOnClickListener(this);
errorCall.setOnClickListener(this);
colorButton1.setOnClickListener(this);
colorButton2.setOnClickListener(this);
colorButton3.setOnClickListener(this);
colorButton4.setOnClickListener(this);
toggleImg.setOnCheckedChangeListener(this);
clipButton.setOnClickListener(this);
woeId.setOnItemSelectedListener(this);
woeId.setSelection(woeIdPos);
colorButton1.setBackgroundColor(background);
colorButton2.setBackgroundColor(font);
colorButton3.setBackgroundColor(tweet);
@ -115,7 +117,6 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen
}
@Override
@SuppressLint("InflateParams")
public void onClick( View v ) {
switch(v.getId()) {
case R.id.delete_db:
@ -156,17 +157,6 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen
setColor(highlight);
mode = 3;
break;
case R.id.woeid_clip:
if(clip != null && clip.hasPrimaryClip()) {
String text = clip.getPrimaryClip().getItemAt(0).getText().toString();
if(text.matches("\\d++\n?")) {
woeId.setText(text);
Toast.makeText(getApplicationContext(),"Eingefügt!",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),"Falsches Format!",Toast.LENGTH_LONG).show();
}
}
break;
case R.id.load_dialog:
Dialog load_popup = new Dialog(this);
final NumberPicker load = new NumberPicker(this);
@ -211,6 +201,17 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
wId = id;
woeIdPos = position;
}
@Override
public void onNothingSelected(AdapterView<?> parent){}
public void setColor(int preColor) {
Dialog d = ColorPickerDialogBuilder.with(this)
.showAlphaSlider(false).initialColor(preColor)
@ -236,13 +237,14 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen
row = settings.getRowLimit();
wId = settings.getWoeId();
imgEnabled = settings.loadImages();
String location = Integer.toString(wId);
woeId.setText(location);
toggleImg.setChecked(imgEnabled);
woeIdPos = settings.getWoeIdSelection();
WorldIdAdapter mWorld = new WorldIdAdapter(this);
woeId.setAdapter(mWorld);
}
private void save() {
wId = Integer.parseInt(woeId.getText().toString());
settings.setBackgroundColor(background);
settings.setHighlightColor(highlight);
settings.setTweetColor(tweet);
@ -250,6 +252,7 @@ public class AppSettings extends AppCompatActivity implements View.OnClickListen
settings.setImageLoad(imgEnabled);
settings.setWoeId(wId);
settings.setRowLimit(row);
Toast.makeText(getApplicationContext(),"Gespeichert", Toast.LENGTH_SHORT).show();
settings.setWoeIdSelection(woeIdPos);
Toast.makeText(getApplicationContext(),"Gespeichert",Toast.LENGTH_SHORT).show();
}
}

View File

@ -126,33 +126,13 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:text="@string/woeid" />
<Button
android:id="@+id/woeid_clip"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:layout_marginStart="20dp"
android:background="@drawable/copy" />
<EditText
<Spinner
android:id="@+id/woeid"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:inputType="number"
android:singleLine="true" />
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="location">
<item>World</item>
<item>Germany</item>
<item>France</item>
<item>USA</item>
<item>Mexico</item>
<item>Morocco</item>
</string-array>
<integer-array name="woeId">
<item>1</item>
<item>23424829</item>
<item>23424819</item>
<item>23424977</item>
<item>23424900</item>
<item>23424893</item>
</integer-array>
</resources>