This commit is contained in:
NudeDude 2018-01-03 16:08:12 +01:00
parent 84a557686f
commit e4532c4735
32 changed files with 177 additions and 136 deletions

View File

@ -5,7 +5,7 @@
<GradleProjectSettings> <GradleProjectSettings>
<option name="distributionType" value="LOCAL" /> <option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-4.1" /> <option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-4.3.1" />
<option name="modules"> <option name="modules">
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />

View File

@ -22,32 +22,32 @@
</activity> </activity>
<activity <activity
android:name=".Window.UserProfile" android:name=".window.TwitterSearch"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name=".Window.TweetPopup" android:name=".window.UserProfile"
android:theme="@style/AppTheme"
android:screenOrientation="portrait"/>
<activity
android:name=".window.TweetPopup"
android:theme="@style/Transparency" android:theme="@style/Transparency"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name=".Window.AppSettings" android:name=".window.AppSettings"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name=".Window.TweetDetail" android:name=".window.TweetDetail"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name=".Window.TwitterSearch" android:name=".window.Follower"
android:theme="@style/AppTheme"
android:screenOrientation="portrait"/>
<activity
android:name=".Window.Follower"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>

View File

@ -2,10 +2,12 @@ package org.nuclearfog.twidda;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.support.v7.widget.SearchView;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
@ -16,31 +18,28 @@ import android.widget.ListView;
import android.widget.TabHost; import android.widget.TabHost;
import android.widget.TabHost.TabSpec; import android.widget.TabHost.TabSpec;
import android.widget.Toast; import android.widget.Toast;
import android.content.SharedPreferences;
import org.nuclearfog.twidda.DataBase.TrendDatabase; import org.nuclearfog.twidda.database.TrendDatabase;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.Backend.RegisterAccount; import org.nuclearfog.twidda.backend.RegisterAccount;
import org.nuclearfog.twidda.Backend.MainPage; import org.nuclearfog.twidda.backend.MainPage;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.ViewAdapter.TrendAdapter; import org.nuclearfog.twidda.viewadapter.TrendAdapter;
import org.nuclearfog.twidda.Window.UserProfile; import org.nuclearfog.twidda.window.UserProfile;
import org.nuclearfog.twidda.Window.AppSettings; import org.nuclearfog.twidda.window.AppSettings;
import org.nuclearfog.twidda.Window.TweetDetail; import org.nuclearfog.twidda.window.TweetDetail;
import org.nuclearfog.twidda.Window.TweetPopup; import org.nuclearfog.twidda.window.TweetPopup;
import org.nuclearfog.twidda.Window.TwitterSearch; import org.nuclearfog.twidda.window.TwitterSearch;
public class MainActivity extends AppCompatActivity public class MainActivity extends AppCompatActivity
{ {
private SwipeRefreshLayout timelineReload,trendReload,mentionReload; private SwipeRefreshLayout timelineReload,trendReload,mentionReload;
private ListView timelineList, trendList,mentionList; private ListView timelineList, trendList,mentionList;
private MenuItem profile, tweet, search;
private SharedPreferences settings; private SharedPreferences settings;
private EditText pin; private EditText pin;
private Context con; private Context con;
private Toolbar toolbar; private Toolbar toolbar;
private MenuItem profile;
private MenuItem search;
private MenuItem tweet;
/** /**
* Create Activity * Create Activity
@ -71,9 +70,27 @@ public class MainActivity extends AppCompatActivity
@Override @Override
public boolean onCreateOptionsMenu(Menu m) { public boolean onCreateOptionsMenu(Menu m) {
toolbar.inflateMenu(R.menu.home); toolbar.inflateMenu(R.menu.home);
profile = toolbar.getMenu().findItem(R.id.action_profile); profile = m.findItem(R.id.action_profile);
search = toolbar.getMenu().findItem(R.id.action_search); tweet = m.findItem(R.id.action_tweet);
tweet = toolbar.getMenu().findItem(R.id.action_tweet); search = m.findItem(R.id.action_search);
SearchView searchQuery = (SearchView)m.findItem(R.id.action_search).getActionView();
searchQuery.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
Intent intent = new Intent(con, TwitterSearch.class);
Bundle bundle = new Bundle();
bundle.putString("search", s);
intent.putExtras(bundle);
startActivity(intent);
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
return true; return true;
} }
@ -90,17 +107,18 @@ public class MainActivity extends AppCompatActivity
bundle.putLong("userID",settings.getLong("userID", -1)); bundle.putLong("userID",settings.getLong("userID", -1));
intent.putExtras(bundle); intent.putExtras(bundle);
startActivity(intent); startActivity(intent);
break; return true;
case R.id.action_tweet: case R.id.action_tweet:
intent = new Intent(this, TweetPopup.class); intent = new Intent(this, TweetPopup.class);
startActivity(intent); startActivity(intent);
break; return true;
case R.id.action_settings: case R.id.action_settings:
intent = new Intent(this, AppSettings.class); intent = new Intent(this, AppSettings.class);
startActivity(intent); startActivity(intent);
break; return true;
default:
return false;
} }
return true;
} }
/** /**

View File

@ -1,14 +1,14 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;
import android.widget.ListView; import android.widget.ListView;
import org.nuclearfog.twidda.DataBase.UserDatabase; import org.nuclearfog.twidda.database.UserDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.UserAdapter; import org.nuclearfog.twidda.viewadapter.UserAdapter;
import org.nuclearfog.twidda.Window.Follower; import org.nuclearfog.twidda.window.Follower;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;

View File

@ -1,11 +1,11 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import org.nuclearfog.twidda.DataBase.TrendDatabase; import org.nuclearfog.twidda.database.TrendDatabase;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.MainActivity; import org.nuclearfog.twidda.MainActivity;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.ViewAdapter.TrendAdapter; import org.nuclearfog.twidda.viewadapter.TrendAdapter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -7,7 +7,7 @@ import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.Window.UserProfile; import org.nuclearfog.twidda.window.UserProfile;
import twitter4j.Twitter; import twitter4j.Twitter;
import twitter4j.User; import twitter4j.User;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -6,10 +6,10 @@ import android.os.AsyncTask;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;
import android.widget.ListView; import android.widget.ListView;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.Window.UserProfile; import org.nuclearfog.twidda.window.UserProfile;
import twitter4j.Paging; import twitter4j.Paging;
import twitter4j.Twitter; import twitter4j.Twitter;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.os.AsyncTask; import android.os.AsyncTask;

View File

@ -1,27 +1,30 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.widget.ListView; import android.widget.ListView;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.Window.TwitterSearch; import org.nuclearfog.twidda.window.TwitterSearch;
import twitter4j.Query; import twitter4j.Query;
import twitter4j.QueryResult; import twitter4j.QueryResult;
import twitter4j.Twitter; import twitter4j.Twitter;
public class Search extends AsyncTask<String, Void, Boolean> { public class Search extends AsyncTask<String, Void, Boolean> {
private TimelineAdapter tlAdp; private TimelineAdapter tlAdp;
private Context context; private Context context;
private Twitter twitter; private Twitter twitter;
private ListView tl; private ListView tl;
private int load;
public Search(Context context) { public Search(Context context) {
this.context=context; this.context=context;
SharedPreferences settings = context.getSharedPreferences("settings", 0);
load = settings.getInt("preload", 10);
} }
@Override @Override
@ -34,10 +37,10 @@ public class Search extends AsyncTask<String, Void, Boolean> {
protected Boolean doInBackground(String... search) { protected Boolean doInBackground(String... search) {
String get = search[1]; String get = search[1];
Query q = new Query(); Query q = new Query();
q.setQuery(get); q.setQuery(get+" +exclude:retweets");
q.setCount(50); q.setCount(load);
try { try {
switch(search[0]){ switch(search[0]) {
case("tweet"): case("tweet"):
QueryResult result = twitter.search(q); QueryResult result = twitter.search(q);
TweetDatabase searchdb = new TweetDatabase(result.getTweets(),context); TweetDatabase searchdb = new TweetDatabase(result.getTweets(),context);

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.os.AsyncTask; import android.os.AsyncTask;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -6,10 +6,10 @@ import android.os.AsyncTask;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.Window.TweetDetail; import org.nuclearfog.twidda.window.TweetDetail;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -24,11 +24,12 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
private Context c; private Context c;
private Twitter twitter; private Twitter twitter;
private ListView replyList; private ListView replyList;
private TextView username,scrName, tweet; private TextView username,scrName, tweet, txtAns, txtRet, txtFav;
private ArrayList<twitter4j.Status> answers; private ArrayList<twitter4j.Status> answers;
private String usernameStr, scrNameStr, tweetStr; private String usernameStr, scrNameStr, tweetStr;
private String ansStr, rtStr, favStr;
private SharedPreferences settings; private SharedPreferences settings;
private int load; private int load, ansNo;
public ShowStatus(Context c) { public ShowStatus(Context c) {
twitter = TwitterResource.getInstance(c).getTwitter(); twitter = TwitterResource.getInstance(c).getTwitter();
@ -36,6 +37,7 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
settings = c.getSharedPreferences("settings", 0); settings = c.getSharedPreferences("settings", 0);
load = settings.getInt("preload", 10); load = settings.getInt("preload", 10);
this.c=c; this.c=c;
ansNo = 0;
} }
@Override @Override
@ -44,6 +46,10 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
tweet = (TextView) ((TweetDetail)c).findViewById(R.id.tweet_detailed); tweet = (TextView) ((TweetDetail)c).findViewById(R.id.tweet_detailed);
username = (TextView) ((TweetDetail)c).findViewById(R.id.usernamedetail); username = (TextView) ((TweetDetail)c).findViewById(R.id.usernamedetail);
scrName = (TextView) ((TweetDetail)c).findViewById(R.id.scrnamedetail); scrName = (TextView) ((TweetDetail)c).findViewById(R.id.scrnamedetail);
txtAns = (TextView) ((TweetDetail)c).findViewById(R.id.no_ans_detail);
txtRet = (TextView) ((TweetDetail)c).findViewById(R.id.no_rt_detail);
txtFav = (TextView) ((TweetDetail)c).findViewById(R.id.no_fav_detail);
} }
/** /**
@ -57,6 +63,9 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
tweetStr = currentTweet.getText(); tweetStr = currentTweet.getText();
usernameStr = currentTweet.getUser().getName(); usernameStr = currentTweet.getUser().getName();
scrNameStr = currentTweet.getUser().getScreenName(); scrNameStr = currentTweet.getUser().getScreenName();
ansStr = ""; //todo
rtStr = Integer.toString(currentTweet.getRetweetCount());
favStr = Integer.toString(currentTweet.getFavoriteCount());
Query query = new Query('@'+scrNameStr+" since_id:"+tweetID+" +exclude:retweets"); Query query = new Query('@'+scrNameStr+" since_id:"+tweetID+" +exclude:retweets");
query.setCount(load); query.setCount(load);
@ -66,8 +75,10 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
List<twitter4j.Status> stats = result.getTweets(); List<twitter4j.Status> stats = result.getTweets();
for(twitter4j.Status reply : stats) { for(twitter4j.Status reply : stats) {
if(reply.getInReplyToStatusId() == tweetID) if(reply.getInReplyToStatusId() == tweetID) {
answers.add(reply); answers.add(reply);
ansNo++;
}
} }
} while((query = result.nextQuery()) != null); } while((query = result.nextQuery()) != null);
} catch(Exception err){err.printStackTrace();} } catch(Exception err){err.printStackTrace();}
@ -80,6 +91,11 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
username.setText(usernameStr); username.setText(usernameStr);
scrName.setText(scrNameStr); scrName.setText(scrNameStr);
ansStr = Integer.toString(ansNo);
txtAns.setText(ansStr);
txtRet.setText(rtStr);
txtFav.setText(favStr);
TweetDatabase tweetDatabase = new TweetDatabase(answers,c); TweetDatabase tweetDatabase = new TweetDatabase(answers,c);
TimelineAdapter tlAdp = new TimelineAdapter(c, tweetDatabase); TimelineAdapter tlAdp = new TimelineAdapter(c, tweetDatabase);
replyList.setAdapter(tlAdp); replyList.setAdapter(tlAdp);

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.DataBase; package org.nuclearfog.twidda.database;
import android.content.Context; import android.content.Context;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.DataBase; package org.nuclearfog.twidda.database;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.DataBase; package org.nuclearfog.twidda.database;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.DataBase; package org.nuclearfog.twidda.database;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.ViewAdapter; package org.nuclearfog.twidda.viewadapter;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -10,8 +10,8 @@ import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.Backend.ImageDownloader; import org.nuclearfog.twidda.backend.ImageDownloader;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
public class TimelineAdapter extends ArrayAdapter { public class TimelineAdapter extends ArrayAdapter {
private TweetDatabase mTweets; private TweetDatabase mTweets;
@ -41,7 +41,7 @@ public class TimelineAdapter extends ArrayAdapter {
v = inf.inflate(R.layout.tweet, parent,false); v = inf.inflate(R.layout.tweet, parent,false);
} }
((TextView) v.findViewById(R.id.username)).setText(mTweets.getUsername(position)); ((TextView) v.findViewById(R.id.username)).setText(mTweets.getUsername(position));
((TextView) v.findViewById(R.id.screenname)).setText(mTweets.getScreenname(position)); ((TextView) v.findViewById(R.id.screenname)).setText(" "+mTweets.getScreenname(position));
((TextView) v.findViewById(R.id.tweettext)).setText(mTweets.getTweet(position)); ((TextView) v.findViewById(R.id.tweettext)).setText(mTweets.getTweet(position));
((TextView) v.findViewById(R.id.answer_number)).setText(""+mTweets.getAnswer(position)); ((TextView) v.findViewById(R.id.answer_number)).setText(""+mTweets.getAnswer(position));
((TextView) v.findViewById(R.id.retweet_number)).setText(""+mTweets.getRetweet(position)); ((TextView) v.findViewById(R.id.retweet_number)).setText(""+mTweets.getRetweet(position));
@ -57,12 +57,10 @@ public class TimelineAdapter extends ArrayAdapter {
parent.performItemClick(v,position,0); parent.performItemClick(v,position,0);
} }
}); });
if(mTweets.loadImages()) { if(mTweets.loadImages()) {
ImageDownloader imgDl = new ImageDownloader(imgView); ImageDownloader imgDl = new ImageDownloader(imgView);
imgDl.execute(mTweets.getPbImg(position)); imgDl.execute(mTweets.getPbImg(position));
} }
return v; return v;
} }
} }

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ViewAdapter; package org.nuclearfog.twidda.viewadapter;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.DataBase.TrendDatabase; import org.nuclearfog.twidda.database.TrendDatabase;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.ViewAdapter; package org.nuclearfog.twidda.viewadapter;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -9,8 +9,8 @@ import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import org.nuclearfog.twidda.Backend.ImageDownloader; import org.nuclearfog.twidda.backend.ImageDownloader;
import org.nuclearfog.twidda.DataBase.UserDatabase; import org.nuclearfog.twidda.database.UserDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
public class UserAdapter extends ArrayAdapter { public class UserAdapter extends ArrayAdapter {

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window; package org.nuclearfog.twidda.window;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor; import android.content.SharedPreferences.Editor;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window; package org.nuclearfog.twidda.window;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -11,10 +11,10 @@ import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ListView; import android.widget.ListView;
import org.nuclearfog.twidda.Backend.Following; import org.nuclearfog.twidda.backend.Following;
import org.nuclearfog.twidda.DataBase.UserDatabase; import org.nuclearfog.twidda.database.UserDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.UserAdapter; import org.nuclearfog.twidda.viewadapter.UserAdapter;
public class Follower extends AppCompatActivity { public class Follower extends AppCompatActivity {

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window; package org.nuclearfog.twidda.window;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -8,12 +8,11 @@ import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView;
import org.nuclearfog.twidda.Backend.ShowStatus; import org.nuclearfog.twidda.backend.ShowStatus;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
public class TweetDetail extends AppCompatActivity { public class TweetDetail extends AppCompatActivity {
@ -58,9 +57,11 @@ public class TweetDetail extends AppCompatActivity {
TimelineAdapter tlAdp = (TimelineAdapter) answer_list.getAdapter(); TimelineAdapter tlAdp = (TimelineAdapter) answer_list.getAdapter();
TweetDatabase twDB = tlAdp.getAdapter(); TweetDatabase twDB = tlAdp.getAdapter();
long userID = twDB.getUserID(position); long userID = twDB.getUserID(position);
Intent intent = new Intent(context, UserProfile.class); long tweetID = twDB.getTweetId(position);
Intent intent = new Intent(context, TweetDetail.class);
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putLong("userID",userID); bundle.putLong("userID",userID);
bundle.putLong("tweetID",tweetID);
intent.putExtras(bundle); intent.putExtras(bundle);
startActivity(intent); startActivity(intent);
} }

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window; package org.nuclearfog.twidda.window;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
@ -7,7 +7,7 @@ import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import org.nuclearfog.twidda.Backend.SendStatus; import org.nuclearfog.twidda.backend.SendStatus;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
public class TweetPopup extends AppCompatActivity { public class TweetPopup extends AppCompatActivity {

View File

@ -1,6 +1,5 @@
package org.nuclearfog.twidda.Window; package org.nuclearfog.twidda.window;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;
@ -12,16 +11,14 @@ import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ListView; import android.widget.ListView;
import org.nuclearfog.twidda.Backend.Search;
import org.nuclearfog.twidda.DataBase.TweetDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.backend.Search;
import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
public class TwitterSearch extends AppCompatActivity { public class TwitterSearch extends AppCompatActivity {
private String search; private String search;
private Context c;
private ListView searchTL; private ListView searchTL;
private SwipeRefreshLayout search_refresh; private SwipeRefreshLayout search_refresh;
@ -30,12 +27,11 @@ public class TwitterSearch extends AppCompatActivity {
super.onCreate(bundle); super.onCreate(bundle);
setContentView(R.layout.search); setContentView(R.layout.search);
Toolbar tool = (Toolbar) findViewById(R.id.search_toolbar); Toolbar tool = (Toolbar) findViewById(R.id.search_toolbar);
setSupportActionBar(tool);
c = getApplicationContext();
getSupportActionBar().setDisplayShowTitleEnabled(false);
search = getIntent().getExtras().getString("search");
searchTL = (ListView) findViewById(R.id.search_result); searchTL = (ListView) findViewById(R.id.search_result);
search_refresh = (SwipeRefreshLayout) findViewById(R.id.search_refresh); search_refresh = (SwipeRefreshLayout) findViewById(R.id.search_refresh);
setSupportActionBar(tool);
getSupportActionBar().setDisplayShowTitleEnabled(false);
search = getIntent().getExtras().getString("search");
getContent(); getContent();
setListener(); setListener();
} }
@ -59,7 +55,7 @@ public class TwitterSearch extends AppCompatActivity {
return true; return true;
} }
private void setListener(){ private void setListener() {
searchTL.setOnItemClickListener(new AdapterView.OnItemClickListener() { searchTL.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@ -83,6 +79,4 @@ public class TwitterSearch extends AppCompatActivity {
Search s = new Search(this); Search s = new Search(this);
s.execute("tweet",search); s.execute("tweet",search);
} }
} }

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window; package org.nuclearfog.twidda.window;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
@ -13,11 +13,11 @@ import android.widget.ListView;
import android.widget.TabHost; import android.widget.TabHost;
import android.widget.TextView; import android.widget.TextView;
import org.nuclearfog.twidda.DataBase.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.Backend.ProfileInfo; import org.nuclearfog.twidda.backend.ProfileInfo;
import org.nuclearfog.twidda.Backend.ProfileTweets; import org.nuclearfog.twidda.backend.ProfileTweets;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
public class UserProfile extends AppCompatActivity { public class UserProfile extends AppCompatActivity {

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="20.0"
android:viewportWidth="20.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFF" android:pathData="M7.859,14.691l-0.81,0.805c-0.701,0.695 -1.843,0.695 -2.545,0c-0.336,-0.334 -0.521,-0.779 -0.521,-1.252s0.186,-0.916 0.521,-1.252l2.98,-2.955c0.617,-0.613 1.779,-1.515 2.626,-0.675c0.389,0.386 1.016,0.384 1.403,-0.005c0.385,-0.389 0.383,-1.017 -0.006,-1.402C10.069,6.527 7.941,6.791 6.088,8.63l-2.98,2.956C2.393,12.295 2,13.24 2,14.244c0,1.006 0.394,1.949 1.108,2.658c0.736,0.73 1.702,1.096 2.669,1.096s1.934,-0.365 2.669,-1.096l0.811,-0.805c0.389,-0.385 0.391,-1.012 0.005,-1.4C8.875,14.309 8.248,14.307 7.859,14.691zM16.891,3.207c-1.547,-1.534 -3.709,-1.617 -5.139,-0.197l-1.009,1.002c-0.389,0.386 -0.392,1.013 -0.006,1.401c0.386,0.389 1.013,0.391 1.402,0.005l1.01,-1.001c0.74,-0.736 1.711,-0.431 2.346,0.197c0.336,0.335 0.522,0.779 0.522,1.252s-0.186,0.917 -0.522,1.251l-3.18,3.154c-1.454,1.441 -2.136,0.766 -2.427,0.477c-0.389,-0.386 -1.016,-0.383 -1.401,0.005c-0.386,0.389 -0.384,1.017 0.005,1.401c0.668,0.662 1.43,0.99 2.228,0.99c0.977,0 2.01,-0.492 2.993,-1.467l3.18,-3.153C17.605,7.814 18,6.87 18,5.866C18,4.861 17.605,3.917 16.891,3.207z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="20.0"
android:viewportWidth="20.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFF" android:pathData="M10,2.009c-2.762,0 -5,2.229 -5,4.99c0,4.774 5,11 5,11s5,-6.227 5,-11C15,4.239 12.762,2.009 10,2.009zM10,9.76c-1.492,0 -2.7,-1.209 -2.7,-2.7s1.208,-2.7 2.7,-2.7c1.49,0 2.699,1.209 2.699,2.7S11.49,9.76 10,9.76z"/>
</vector>

View File

@ -75,17 +75,29 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView
android:id="@+id/location_img"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:contentDescription="@string/location"
app:srcCompat="@drawable/location" />
<TextView <TextView
android:id="@+id/location" android:id="@+id/location"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content" />
android:layout_weight="1" />
<ImageView
android:id="@+id/link_img"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:contentDescription="@string/link"
app:srcCompat="@drawable/link" />
<TextView <TextView
android:id="@+id/links" android:id="@+id/links"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content" />
android:layout_weight="1" />
</LinearLayout> </LinearLayout>

View File

@ -44,6 +44,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="2dp" /> android:layout_margin="2dp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<TextView <TextView
@ -56,15 +57,6 @@
android:linksClickable="true" android:linksClickable="true"
android:textSize="24sp" /> android:textSize="24sp" />
<ImageView
android:id="@+id/tweet_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:contentDescription="@string/tweet_image"
android:visibility="invisible"
app:srcCompat="@android:color/darker_gray" />
<LinearLayout <LinearLayout
android:id="@+id/actionbar" android:id="@+id/actionbar"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -115,7 +107,7 @@
<ListView <ListView
android:id="@+id/answer_list" android:id="@+id/answer_list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_marginLeft="5dp" android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" /> android:layout_marginRight="5dp" />

View File

@ -17,19 +17,16 @@
<item <item
android:id="@+id/action_search" android:id="@+id/action_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="false"
android:icon="@drawable/search" android:icon="@drawable/search"
android:title="@string/search" android:title="@string/search"
android:visible="false" android:visible="false"
app:actionViewClass="android.widget.SearchView" app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always" /> app:showAsAction="ifRoom|collapseActionView" />
<item <item
android:id="@+id/action_settings" android:id="@+id/action_settings"
android:icon="@drawable/setting_icon" android:icon="@drawable/setting_icon"
android:title="@string/settings" android:title="@string/settings"
android:visible="true" android:visible="false"
app:showAsAction="ifRoom" /> app:showAsAction="ifRoom" />
</menu> </menu>

View File

@ -73,5 +73,7 @@
</string> </string>
<string name="woe_id">WOE ID</string> <string name="woe_id">WOE ID</string>
<string name="banner">Profilbanner</string> <string name="banner">Profilbanner</string>
<string name="link">Webseite</string>
<string name="location">Ort</string>
</resources> </resources>