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>
<option name="distributionType" value="LOCAL" />
<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">
<set>
<option value="$PROJECT_DIR$" />

View File

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

View File

@ -2,10 +2,12 @@ package org.nuclearfog.twidda;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@ -16,31 +18,28 @@ import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import android.widget.Toast;
import android.content.SharedPreferences;
import org.nuclearfog.twidda.DataBase.TrendDatabase;
import org.nuclearfog.twidda.DataBase.TweetDatabase;
import org.nuclearfog.twidda.Backend.RegisterAccount;
import org.nuclearfog.twidda.Backend.MainPage;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.ViewAdapter.TrendAdapter;
import org.nuclearfog.twidda.Window.UserProfile;
import org.nuclearfog.twidda.Window.AppSettings;
import org.nuclearfog.twidda.Window.TweetDetail;
import org.nuclearfog.twidda.Window.TweetPopup;
import org.nuclearfog.twidda.Window.TwitterSearch;
import org.nuclearfog.twidda.database.TrendDatabase;
import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.backend.RegisterAccount;
import org.nuclearfog.twidda.backend.MainPage;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.viewadapter.TrendAdapter;
import org.nuclearfog.twidda.window.UserProfile;
import org.nuclearfog.twidda.window.AppSettings;
import org.nuclearfog.twidda.window.TweetDetail;
import org.nuclearfog.twidda.window.TweetPopup;
import org.nuclearfog.twidda.window.TwitterSearch;
public class MainActivity extends AppCompatActivity
{
private SwipeRefreshLayout timelineReload,trendReload,mentionReload;
private ListView timelineList, trendList,mentionList;
private MenuItem profile, tweet, search;
private SharedPreferences settings;
private EditText pin;
private Context con;
private Toolbar toolbar;
private MenuItem profile;
private MenuItem search;
private MenuItem tweet;
/**
* Create Activity
@ -71,9 +70,27 @@ public class MainActivity extends AppCompatActivity
@Override
public boolean onCreateOptionsMenu(Menu m) {
toolbar.inflateMenu(R.menu.home);
profile = toolbar.getMenu().findItem(R.id.action_profile);
search = toolbar.getMenu().findItem(R.id.action_search);
tweet = toolbar.getMenu().findItem(R.id.action_tweet);
profile = m.findItem(R.id.action_profile);
tweet = m.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;
}
@ -90,17 +107,18 @@ public class MainActivity extends AppCompatActivity
bundle.putLong("userID",settings.getLong("userID", -1));
intent.putExtras(bundle);
startActivity(intent);
break;
return true;
case R.id.action_tweet:
intent = new Intent(this, TweetPopup.class);
startActivity(intent);
break;
return true;
case R.id.action_settings:
intent = new Intent(this, AppSettings.class);
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.os.AsyncTask;
import android.support.v4.widget.SwipeRefreshLayout;
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.ViewAdapter.UserAdapter;
import org.nuclearfog.twidda.Window.Follower;
import org.nuclearfog.twidda.viewadapter.UserAdapter;
import org.nuclearfog.twidda.window.Follower;
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.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.TweetDatabase;
import org.nuclearfog.twidda.database.TrendDatabase;
import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.MainActivity;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.ViewAdapter.TrendAdapter;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.viewadapter.TrendAdapter;
import android.content.SharedPreferences;
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.SharedPreferences;
@ -7,7 +7,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.Window.UserProfile;
import org.nuclearfog.twidda.window.UserProfile;
import twitter4j.Twitter;
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.SharedPreferences;
@ -6,10 +6,10 @@ import android.os.AsyncTask;
import android.support.v4.widget.SwipeRefreshLayout;
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.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.Window.UserProfile;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.window.UserProfile;
import twitter4j.Paging;
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.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.SharedPreferences;
import android.os.AsyncTask;
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.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.Window.TwitterSearch;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.window.TwitterSearch;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Twitter;
public class Search extends AsyncTask<String, Void, Boolean> {
private TimelineAdapter tlAdp;
private Context context;
private Twitter twitter;
private ListView tl;
private int load;
public Search(Context context) {
this.context=context;
SharedPreferences settings = context.getSharedPreferences("settings", 0);
load = settings.getInt("preload", 10);
}
@Override
@ -34,10 +37,10 @@ public class Search extends AsyncTask<String, Void, Boolean> {
protected Boolean doInBackground(String... search) {
String get = search[1];
Query q = new Query();
q.setQuery(get);
q.setCount(50);
q.setQuery(get+" +exclude:retweets");
q.setCount(load);
try {
switch(search[0]){
switch(search[0]) {
case("tweet"):
QueryResult result = twitter.search(q);
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.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.SharedPreferences;
@ -6,10 +6,10 @@ import android.os.AsyncTask;
import android.widget.ListView;
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.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.Window.TweetDetail;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
import org.nuclearfog.twidda.window.TweetDetail;
import java.util.ArrayList;
import java.util.List;
@ -24,11 +24,12 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
private Context c;
private Twitter twitter;
private ListView replyList;
private TextView username,scrName, tweet;
private TextView username,scrName, tweet, txtAns, txtRet, txtFav;
private ArrayList<twitter4j.Status> answers;
private String usernameStr, scrNameStr, tweetStr;
private String ansStr, rtStr, favStr;
private SharedPreferences settings;
private int load;
private int load, ansNo;
public ShowStatus(Context c) {
twitter = TwitterResource.getInstance(c).getTwitter();
@ -36,6 +37,7 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
settings = c.getSharedPreferences("settings", 0);
load = settings.getInt("preload", 10);
this.c=c;
ansNo = 0;
}
@Override
@ -44,6 +46,10 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
tweet = (TextView) ((TweetDetail)c).findViewById(R.id.tweet_detailed);
username = (TextView) ((TweetDetail)c).findViewById(R.id.usernamedetail);
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();
usernameStr = currentTweet.getUser().getName();
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.setCount(load);
@ -66,8 +75,10 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
List<twitter4j.Status> stats = result.getTweets();
for(twitter4j.Status reply : stats) {
if(reply.getInReplyToStatusId() == tweetID)
if(reply.getInReplyToStatusId() == tweetID) {
answers.add(reply);
ansNo++;
}
}
} while((query = result.nextQuery()) != null);
} catch(Exception err){err.printStackTrace();}
@ -80,6 +91,11 @@ public class ShowStatus extends AsyncTask<Long, Void, Void> {
username.setText(usernameStr);
scrName.setText(scrNameStr);
ansStr = Integer.toString(ansNo);
txtAns.setText(ansStr);
txtRet.setText(rtStr);
txtFav.setText(favStr);
TweetDatabase tweetDatabase = new TweetDatabase(answers,c);
TimelineAdapter tlAdp = new TimelineAdapter(c, tweetDatabase);
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.Intent;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.DataBase;
package org.nuclearfog.twidda.database;
import android.content.Context;
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.Context;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.DataBase;
package org.nuclearfog.twidda.database;
import android.content.ContentValues;
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.SharedPreferences;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.ViewAdapter;
package org.nuclearfog.twidda.viewadapter;
import android.content.Context;
import android.view.LayoutInflater;
@ -10,8 +10,8 @@ import android.widget.ListView;
import android.widget.TextView;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.Backend.ImageDownloader;
import org.nuclearfog.twidda.DataBase.TweetDatabase;
import org.nuclearfog.twidda.backend.ImageDownloader;
import org.nuclearfog.twidda.database.TweetDatabase;
public class TimelineAdapter extends ArrayAdapter {
private TweetDatabase mTweets;
@ -41,7 +41,7 @@ public class TimelineAdapter extends ArrayAdapter {
v = inf.inflate(R.layout.tweet, parent,false);
}
((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.answer_number)).setText(""+mTweets.getAnswer(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);
}
});
if(mTweets.loadImages()) {
ImageDownloader imgDl = new ImageDownloader(imgView);
imgDl.execute(mTweets.getPbImg(position));
}
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.DataBase.TrendDatabase;
import org.nuclearfog.twidda.database.TrendDatabase;
import android.content.Context;
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.view.LayoutInflater;
@ -9,8 +9,8 @@ import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import org.nuclearfog.twidda.Backend.ImageDownloader;
import org.nuclearfog.twidda.DataBase.UserDatabase;
import org.nuclearfog.twidda.backend.ImageDownloader;
import org.nuclearfog.twidda.database.UserDatabase;
import org.nuclearfog.twidda.R;
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.Editor;

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window;
package org.nuclearfog.twidda.window;
import android.content.Context;
import android.content.Intent;
@ -11,10 +11,10 @@ import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import org.nuclearfog.twidda.Backend.Following;
import org.nuclearfog.twidda.DataBase.UserDatabase;
import org.nuclearfog.twidda.backend.Following;
import org.nuclearfog.twidda.database.UserDatabase;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.UserAdapter;
import org.nuclearfog.twidda.viewadapter.UserAdapter;
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.Intent;
@ -8,12 +8,11 @@ import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import org.nuclearfog.twidda.Backend.ShowStatus;
import org.nuclearfog.twidda.DataBase.TweetDatabase;
import org.nuclearfog.twidda.backend.ShowStatus;
import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
public class TweetDetail extends AppCompatActivity {
@ -58,9 +57,11 @@ public class TweetDetail extends AppCompatActivity {
TimelineAdapter tlAdp = (TimelineAdapter) answer_list.getAdapter();
TweetDatabase twDB = tlAdp.getAdapter();
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.putLong("userID",userID);
bundle.putLong("tweetID",tweetID);
intent.putExtras(bundle);
startActivity(intent);
}

View File

@ -1,4 +1,4 @@
package org.nuclearfog.twidda.Window;
package org.nuclearfog.twidda.window;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
@ -7,7 +7,7 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import org.nuclearfog.twidda.Backend.SendStatus;
import org.nuclearfog.twidda.backend.SendStatus;
import org.nuclearfog.twidda.R;
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.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
@ -12,16 +11,14 @@ import android.view.View;
import android.widget.AdapterView;
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.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 {
private String search;
private Context c;
private ListView searchTL;
private SwipeRefreshLayout search_refresh;
@ -30,12 +27,11 @@ public class TwitterSearch extends AppCompatActivity {
super.onCreate(bundle);
setContentView(R.layout.search);
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);
search_refresh = (SwipeRefreshLayout) findViewById(R.id.search_refresh);
setSupportActionBar(tool);
getSupportActionBar().setDisplayShowTitleEnabled(false);
search = getIntent().getExtras().getString("search");
getContent();
setListener();
}
@ -59,7 +55,7 @@ public class TwitterSearch extends AppCompatActivity {
return true;
}
private void setListener(){
private void setListener() {
searchTL.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
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);
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.os.Bundle;
@ -13,11 +13,11 @@ import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TextView;
import org.nuclearfog.twidda.DataBase.TweetDatabase;
import org.nuclearfog.twidda.Backend.ProfileInfo;
import org.nuclearfog.twidda.Backend.ProfileTweets;
import org.nuclearfog.twidda.database.TweetDatabase;
import org.nuclearfog.twidda.backend.ProfileInfo;
import org.nuclearfog.twidda.backend.ProfileTweets;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.ViewAdapter.TimelineAdapter;
import org.nuclearfog.twidda.viewadapter.TimelineAdapter;
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: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
android:id="@+id/location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<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
android:id="@+id/links"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -44,6 +44,7 @@
android:layout_height="wrap_content"
android:layout_margin="2dp" />
</LinearLayout>
</LinearLayout>
<TextView
@ -56,15 +57,6 @@
android:linksClickable="true"
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
android:id="@+id/actionbar"
android:layout_width="match_parent"
@ -115,7 +107,7 @@
<ListView
android:id="@+id/answer_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" />

View File

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

View File

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