Share, Toolbar, Fixes
User create hat einen leeren user erstellt, jetzt nichtmehr Share Button wurde hinzugefügt In zwischenablage kopieren wurde entfernt Eine toolbar mit der farbe der Gruppe/Shoppingliste wurde hinzugefügt Toolbar hat den namen der Shoppingliste/Gruppe
This commit is contained in:
parent
2439505b33
commit
9fc3c9d70c
BIN
.idea/caches/gradle_models.ser
generated
BIN
.idea/caches/gradle_models.ser
generated
Binary file not shown.
@ -5,10 +5,10 @@ android {
|
|||||||
compileSdkVersion 28
|
compileSdkVersion 28
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "at.smartshopper.smartshopperapp"
|
applicationId "at.smartshopper.smartshopperapp"
|
||||||
minSdkVersion 26
|
minSdkVersion 19
|
||||||
targetSdkVersion 28
|
targetSdkVersion 28
|
||||||
versionCode 5
|
versionCode 10
|
||||||
versionName "3.2"
|
versionName "4"
|
||||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
@ -28,7 +28,7 @@ dependencies {
|
|||||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
||||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||||
implementation 'com.google.firebase:firebase-auth:16.2.0'
|
implementation 'com.google.firebase:firebase-auth:16.2.0'
|
||||||
implementation 'com.google.firebase:firebase-messaging:17.4.0'
|
implementation 'com.google.firebase:firebase-messaging:17.5.0'
|
||||||
implementation 'com.google.firebase:firebase-core:16.0.8'
|
implementation 'com.google.firebase:firebase-core:16.0.8'
|
||||||
implementation 'com.google.firebase:firebase-storage:16.1.0'
|
implementation 'com.google.firebase:firebase-storage:16.1.0'
|
||||||
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
|
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
|
||||||
|
@ -30,6 +30,14 @@
|
|||||||
"certificate_hash": "4f9180e4472117e0f2b5a891778d247c99b1ea16"
|
"certificate_hash": "4f9180e4472117e0f2b5a891778d247c99b1ea16"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"client_id": "221332577314-e0fidj0e30k4f7bffbpn263o6q41klah.apps.googleusercontent.com",
|
||||||
|
"client_type": 1,
|
||||||
|
"android_info": {
|
||||||
|
"package_name": "at.smartshopper.smartshopperapp",
|
||||||
|
"certificate_hash": "3f5e1db662961243853557e59547222f4980eeb2"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"client_id": "221332577314-oo8b4uqtlgj75e7u7o3qt1vc96prfv52.apps.googleusercontent.com",
|
"client_id": "221332577314-oo8b4uqtlgj75e7u7o3qt1vc96prfv52.apps.googleusercontent.com",
|
||||||
"client_type": 3
|
"client_type": 3
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
|||||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":5,"versionName":"3.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":10,"versionName":"4","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
@ -15,6 +15,7 @@ import android.support.v4.widget.SwipeRefreshLayout;
|
|||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@ -138,6 +139,10 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_dash);
|
setContentView(R.layout.activity_dash);
|
||||||
|
|
||||||
|
Toolbar myToolbar = (Toolbar) findViewById(R.id.dashToolbar);
|
||||||
|
setSupportActionBar(myToolbar);
|
||||||
|
|
||||||
color = "ffffff";
|
color = "ffffff";
|
||||||
|
|
||||||
setMsgId();
|
setMsgId();
|
||||||
@ -289,7 +294,9 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
colorBtn = (Button) customView.findViewById(R.id.addColor);
|
colorBtn = (Button) customView.findViewById(R.id.addColor);
|
||||||
final Button addFertig = (Button) customView.findViewById(R.id.addFertig);
|
final Button addFertig = (Button) customView.findViewById(R.id.addFertig);
|
||||||
final EditText name = (EditText) customView.findViewById(R.id.addName);
|
final EditText name = (EditText) customView.findViewById(R.id.addName);
|
||||||
|
name.setTextIsSelectable(true);
|
||||||
final EditText description = (EditText) customView.findViewById(R.id.addDescription);
|
final EditText description = (EditText) customView.findViewById(R.id.addDescription);
|
||||||
|
description.setTextIsSelectable(true);
|
||||||
|
|
||||||
Picasso.get().load(R.drawable.close).into(addClose);
|
Picasso.get().load(R.drawable.close).into(addClose);
|
||||||
|
|
||||||
@ -298,6 +305,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
} else {
|
} else {
|
||||||
addFertig.setEnabled(false);
|
addFertig.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
name.addTextChangedListener(new TextWatcher() {
|
name.addTextChangedListener(new TextWatcher() {
|
||||||
@Override
|
@Override
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
@ -478,7 +486,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
sharedListsListTmp = sharedListsArrayListTmp;
|
sharedListsListTmp = sharedListsArrayListTmp;
|
||||||
} else {
|
} else {
|
||||||
sharedListsListTmp = sharedListsList;
|
sharedListsListTmp = sharedListsList;
|
||||||
findViewById(R.id.pfeilnachunten3).setVisibility(View.GONE);
|
// findViewById(R.id.pfeilnachunten3).setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
ShoppinglistSharedAdapter shpAdapter = new ShoppinglistSharedAdapter(Dash.this, sharedListsListTmp, db);
|
ShoppinglistSharedAdapter shpAdapter = new ShoppinglistSharedAdapter(Dash.this, sharedListsListTmp, db);
|
||||||
if (sharedListsList.isEmpty()) {
|
if (sharedListsList.isEmpty()) {
|
||||||
@ -599,23 +607,37 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
spec.setIndicator("Geteilte Einkaufslisten");
|
spec.setIndicator("Geteilte Einkaufslisten");
|
||||||
host.addTab(spec);
|
host.addTab(spec);
|
||||||
|
|
||||||
|
|
||||||
host.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
|
host.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTabChanged(String tabId) {
|
public void onTabChanged(String tabId) {
|
||||||
|
|
||||||
int i = host.getCurrentTab();
|
int i = host.getCurrentTab();
|
||||||
|
|
||||||
|
View pfeil = findViewById(R.id.pfeilnachunten3);
|
||||||
|
FloatingActionButton fab = findViewById(R.id.addShoppinglistFab);
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
try {
|
try {
|
||||||
refreshOwnShoppinglist(uid);
|
refreshOwnShoppinglist(uid);
|
||||||
|
fab.show();
|
||||||
|
|
||||||
|
if (db.getMyShoppinglists(uid).isEmpty()) {
|
||||||
|
pfeil.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
pfeil.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
//TODO
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (i == 1) {
|
} else if (i == 1) {
|
||||||
try {
|
try {
|
||||||
showSharedShoppingList(uid);
|
showSharedShoppingList(uid);
|
||||||
|
pfeil.setVisibility(View.GONE);
|
||||||
|
fab.hide();
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -863,7 +885,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
//
|
//
|
||||||
// return link;
|
// return link;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onShareClick(final String sl_id, final View v) {
|
public void onShareClick(final String sl_id, final View v) {
|
||||||
String link = null;
|
String link = null;
|
||||||
@ -874,6 +895,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
View popupContentView = inflater.inflate(R.layout.add_share, null);
|
View popupContentView = inflater.inflate(R.layout.add_share, null);
|
||||||
|
|
||||||
final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
|
final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
|
||||||
|
linkausgabe.setTextIsSelectable(true);
|
||||||
linkausgabe.setText("invite.dergeorg.at/invite/" + link);
|
linkausgabe.setText("invite.dergeorg.at/invite/" + link);
|
||||||
|
|
||||||
ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit);
|
ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit);
|
||||||
@ -885,15 +907,37 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
|
ImageButton shareIntentBtn = (ImageButton) popupContentView.findViewById(R.id.shareIntentBtn);
|
||||||
copyButton.setOnClickListener(new View.OnClickListener() {
|
Picasso.get().load(R.drawable.share).into(shareIntentBtn);
|
||||||
|
shareIntentBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
copyText(linkausgabe.getText().toString());
|
String shoppinglistname = "";
|
||||||
|
try {
|
||||||
|
shoppinglistname = db.getShoppinglist(sl_id).getname();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
|
||||||
|
sharingIntent.setType("text/plain");
|
||||||
|
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Einladung zum bearbeiten der Shoppingliste " + shoppinglistname + " von: " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName());
|
||||||
|
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, linkausgabe.getText().toString());
|
||||||
popupShare.dismiss();
|
popupShare.dismiss();
|
||||||
|
startActivity(Intent.createChooser(sharingIntent, "Teile mit"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
|
||||||
|
// copyButton.setOnClickListener(new View.OnClickListener() {
|
||||||
|
// @Override
|
||||||
|
// public void onClick(View v) {
|
||||||
|
// copyText(linkausgabe.getText().toString());
|
||||||
|
// popupShare.dismiss();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
|
Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
|
||||||
|
|
||||||
final String finalLink = link;
|
final String finalLink = link;
|
||||||
@ -979,6 +1023,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
View popupContentView = inflater.inflate(R.layout.add_share, null);
|
View popupContentView = inflater.inflate(R.layout.add_share, null);
|
||||||
|
|
||||||
final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
|
final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
|
||||||
|
linkausgabe.setTextIsSelectable(true);
|
||||||
try {
|
try {
|
||||||
linkausgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
|
linkausgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -996,15 +1041,37 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
|
ImageButton shareIntentBtn = (ImageButton) popupContentView.findViewById(R.id.shareIntentBtn);
|
||||||
copyButton.setOnClickListener(new View.OnClickListener() {
|
Picasso.get().load(R.drawable.share).into(shareIntentBtn);
|
||||||
|
shareIntentBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
copyText(linkausgabe.getText().toString());
|
String shoppinglistname = "";
|
||||||
|
try {
|
||||||
|
shoppinglistname = db.getShoppinglist(sl_id).getname();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
|
||||||
|
sharingIntent.setType("text/plain");
|
||||||
|
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Einladung zum bearbeiten der Shoppingliste " + shoppinglistname + " von: " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName());
|
||||||
|
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, linkausgabe.getText().toString());
|
||||||
popupShare.dismiss();
|
popupShare.dismiss();
|
||||||
|
startActivity(Intent.createChooser(sharingIntent, "Teile mit"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
|
||||||
|
// copyButton.setOnClickListener(new View.OnClickListener() {
|
||||||
|
// @Override
|
||||||
|
// public void onClick(View v) {
|
||||||
|
// copyText(linkausgabe.getText().toString());
|
||||||
|
// popupShare.dismiss();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
|
Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
|
||||||
|
|
||||||
delShare.setOnClickListener(new View.OnClickListener() {
|
delShare.setOnClickListener(new View.OnClickListener() {
|
||||||
@ -1104,17 +1171,17 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sharedOnShareClick(String sl_id, View v) throws SQLException, JSONException {
|
public void sharedOnShareClick(final String sl_id, View v) throws SQLException, JSONException {
|
||||||
final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
|
final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
|
||||||
View popupContentView = inflater.inflate(R.layout.edit_share_member, null);
|
View popupContentView = inflater.inflate(R.layout.edit_share_member, null);
|
||||||
|
|
||||||
ImageButton exitBtn = popupContentView.findViewById(R.id.exitButton);
|
ImageButton exitBtn = popupContentView.findViewById(R.id.exitButton);
|
||||||
Picasso.get().load(R.drawable.close).into(exitBtn);
|
Picasso.get().load(R.drawable.close).into(exitBtn);
|
||||||
final TextView linkAusgabe = popupContentView.findViewById(R.id.linkausgabe);
|
final TextView linkAusgabe = popupContentView.findViewById(R.id.linkausgabe);
|
||||||
Button copyBtn = popupContentView.findViewById(R.id.copyButton);
|
// Button copyBtn = popupContentView.findViewById(R.id.copyButton);
|
||||||
Button stopShareBtn = popupContentView.findViewById(R.id.delShare);
|
Button stopShareBtn = popupContentView.findViewById(R.id.delShare);
|
||||||
|
|
||||||
|
linkAusgabe.setTextIsSelectable(true);
|
||||||
linkAusgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
|
linkAusgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
|
||||||
exitBtn.setOnClickListener(new View.OnClickListener() {
|
exitBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -1122,11 +1189,31 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
|||||||
popupEditShare.dismiss();
|
popupEditShare.dismiss();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
copyBtn.setOnClickListener(new View.OnClickListener() {
|
// copyBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
|
// @Override
|
||||||
|
// public void onClick(View v) {
|
||||||
|
// copyText(linkAusgabe.getText().toString());
|
||||||
|
// popupEditShare.dismiss();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
ImageButton shareIntentBtn = popupContentView.findViewById(R.id.shareIntentBtn);
|
||||||
|
Picasso.get().load(R.drawable.share).into(shareIntentBtn);
|
||||||
|
shareIntentBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
copyText(linkAusgabe.getText().toString());
|
String shoppinglistname = "";
|
||||||
popupEditShare.dismiss();
|
try {
|
||||||
|
shoppinglistname = db.getShoppinglist(sl_id).getname();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
|
||||||
|
sharingIntent.setType("text/plain");
|
||||||
|
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Einladung zum bearbeiten der Shoppingliste " + shoppinglistname + " von: " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName());
|
||||||
|
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, linkAusgabe.getText().toString());
|
||||||
|
startActivity(Intent.createChooser(sharingIntent, "Teilen mit"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
stopShareBtn.setOnClickListener(new View.OnClickListener() {
|
stopShareBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@ -6,6 +6,7 @@ import android.support.v4.widget.SwipeRefreshLayout;
|
|||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -9,6 +9,7 @@ import android.support.v4.widget.SwipeRefreshLayout;
|
|||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
@ -59,24 +60,39 @@ public class ItemListActivity extends AppCompatActivity implements ItemAdapter.O
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_item_list);
|
setContentView(R.layout.activity_item_list);
|
||||||
|
|
||||||
|
|
||||||
Intent myIntent = getIntent(); // gets the previously created intent
|
Intent myIntent = getIntent(); // gets the previously created intent
|
||||||
this.group_id = myIntent.getStringExtra("group_id"); // will return "FirstKeyValue"
|
this.group_id = myIntent.getStringExtra("group_id"); // will return "FirstKeyValue"
|
||||||
this.sl_id = myIntent.getStringExtra("sl_id"); // will return "SecondKeyValue"
|
this.sl_id = myIntent.getStringExtra("sl_id"); // will return "SecondKeyValue"
|
||||||
this.groupNameString = myIntent.getStringExtra("groupNameString"); // will return "SecondKeyValue"
|
this.groupNameString = myIntent.getStringExtra("groupNameString"); // will return "SecondKeyValue"
|
||||||
this.db = new Database();
|
this.db = new Database();
|
||||||
|
String colorToolbar = null;
|
||||||
|
try {
|
||||||
|
colorToolbar = db.getGroup(group_id, sl_id).getColor();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Toolbar toolbar = findViewById(R.id.itemToolbar);
|
||||||
|
toolbar.setTitle("Gruppe: " + this.groupNameString);
|
||||||
|
String colorstring;
|
||||||
|
if (colorToolbar.contains("#")) {
|
||||||
|
colorstring = colorToolbar;
|
||||||
|
} else {
|
||||||
|
colorstring = "#" + colorToolbar;
|
||||||
|
}
|
||||||
|
toolbar.setBackgroundColor(Color.parseColor(colorstring));
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
this.groupName = (TextView) findViewById(R.id.groupViewName);
|
this.groupName = (TextView) findViewById(R.id.groupViewName);
|
||||||
this.groupName.setText(groupNameString);
|
this.groupName.setText(groupNameString);
|
||||||
|
|
||||||
this.colorView = (View) findViewById(R.id.itemListColorView);
|
this.colorView = (View) findViewById(R.id.itemListColorView);
|
||||||
|
|
||||||
try {
|
this.colorView.setBackgroundColor(Color.parseColor(colorstring));
|
||||||
this.colorView.setBackgroundColor(Color.parseColor(db.getGroup(group_id, sl_id).getColor()));
|
|
||||||
} catch (SQLException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.swipeRefreshLayoutItem = (SwipeRefreshLayout) findViewById(R.id.itemListRefresh);
|
this.swipeRefreshLayoutItem = (SwipeRefreshLayout) findViewById(R.id.itemListRefresh);
|
||||||
this.swipeRefreshLayoutItem.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
this.swipeRefreshLayoutItem.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||||
@ -182,7 +198,7 @@ public class ItemListActivity extends AppCompatActivity implements ItemAdapter.O
|
|||||||
List itemListTmp;
|
List itemListTmp;
|
||||||
View pfeil = findViewById(R.id.pfeilnachunten2);
|
View pfeil = findViewById(R.id.pfeilnachunten2);
|
||||||
if (itemList.isEmpty()) {
|
if (itemList.isEmpty()) {
|
||||||
itemArrayListTmp.add(new Item("empty", "empty", "empty", "Bitte ein Item Hinzufügen!", ""));
|
itemArrayListTmp.add(new Item("empty", "empty", "empty", "Bitte ein Item Hinzufügen!", "1"));
|
||||||
itemListTmp = itemArrayListTmp;
|
itemListTmp = itemArrayListTmp;
|
||||||
pfeil.setVisibility(View.VISIBLE);
|
pfeil.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
@ -129,21 +129,11 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String uid = FirebaseAuth.getInstance().getUid();
|
FirebaseUser userFirebase = FirebaseAuth.getInstance().getCurrentUser();
|
||||||
Member user;
|
Member user;
|
||||||
String name = null;
|
String name = null;
|
||||||
String picture = null;
|
String picture = null;
|
||||||
String email = null;
|
String email = null;
|
||||||
try {
|
|
||||||
user = db.getUser(uid);
|
|
||||||
name = user.getName();
|
|
||||||
picture = user.getPic();
|
|
||||||
email = user.getEmail();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get new Instance ID token
|
// Get new Instance ID token
|
||||||
String token = task.getResult().getToken();
|
String token = task.getResult().getToken();
|
||||||
@ -151,10 +141,23 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
try {
|
try {
|
||||||
if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) {
|
if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) {
|
||||||
|
|
||||||
db.createUser(uid, token, name, picture, email);
|
name = userFirebase.getDisplayName();
|
||||||
|
picture = userFirebase.getPhotoUrl().toString();
|
||||||
|
email = userFirebase.getEmail();
|
||||||
|
db.createUser(userFirebase.getUid(), token, name, picture, email);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
db.updateUser(uid, token, name, picture, email);
|
try {
|
||||||
|
user = db.getUser(userFirebase.getUid());
|
||||||
|
name = user.getName();
|
||||||
|
picture = user.getPic();
|
||||||
|
email = user.getEmail();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
db.updateUser(userFirebase.getUid(), token, name, picture, email);
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -9,6 +9,7 @@ import android.support.v4.widget.SwipeRefreshLayout;
|
|||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
@ -125,14 +126,25 @@ public class ShoppinglistDetails extends AppCompatActivity implements DetailsAda
|
|||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
sl_id = intent.getStringExtra("sl_id");
|
sl_id = intent.getStringExtra("sl_id");
|
||||||
|
|
||||||
|
Shoppinglist shoppinglist = null;
|
||||||
try {
|
try {
|
||||||
Shoppinglist shoppinglist = db.getShoppinglist(sl_id);
|
shoppinglist = db.getShoppinglist(sl_id);
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
Toolbar toolbar = findViewById(R.id.shoppinglistDetailsToolbar);
|
||||||
|
toolbar.setTitle("Shoppingliste: " + shoppinglist.getname());
|
||||||
|
String colorstring;
|
||||||
|
if (shoppinglist.getcolor().contains("#")) {
|
||||||
|
colorstring = shoppinglist.getcolor();
|
||||||
|
} else {
|
||||||
|
colorstring = "#" + shoppinglist.getcolor();
|
||||||
|
}
|
||||||
|
toolbar.setBackgroundColor(Color.parseColor(colorstring));
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
final String finalSl_id = sl_id;
|
final String finalSl_id = sl_id;
|
||||||
fab.setOnClickListener(new View.OnClickListener() {
|
fab.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,191 @@
|
|||||||
|
package at.smartshopper.smartshopperapp.customViews;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.GestureDetector;
|
||||||
|
import android.view.MotionEvent;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.animation.AccelerateInterpolator;
|
||||||
|
import android.view.animation.Animation;
|
||||||
|
import android.view.animation.TranslateAnimation;
|
||||||
|
import android.widget.TabHost;
|
||||||
|
|
||||||
|
public class AnimatedTabHostListener implements TabHost.OnTabChangeListener
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final int ANIMATION_TIME = 240;
|
||||||
|
private TabHost tabHost;
|
||||||
|
private View previousView;
|
||||||
|
private View currentView;
|
||||||
|
private GestureDetector gestureDetector;
|
||||||
|
private int currentTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor that takes the TabHost as a parameter and sets previousView to the currentView at instantiation
|
||||||
|
*
|
||||||
|
* @param context
|
||||||
|
* @param tabHost
|
||||||
|
*/
|
||||||
|
public AnimatedTabHostListener(Context context, TabHost tabHost)
|
||||||
|
{
|
||||||
|
this.tabHost = tabHost;
|
||||||
|
this.previousView = tabHost.getCurrentView();
|
||||||
|
gestureDetector = new GestureDetector(context, new MyGestureDetector());
|
||||||
|
tabHost.setOnTouchListener(new View.OnTouchListener()
|
||||||
|
{
|
||||||
|
public boolean onTouch(View v, MotionEvent event)
|
||||||
|
{
|
||||||
|
if (gestureDetector.onTouchEvent(event))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When tabs change we fetch the current view that we are animating to and animate it and the previous view in the
|
||||||
|
* appropriate directions.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onTabChanged(String tabId)
|
||||||
|
{
|
||||||
|
|
||||||
|
currentView = tabHost.getCurrentView();
|
||||||
|
if (tabHost.getCurrentTab() > currentTab)
|
||||||
|
{
|
||||||
|
previousView.setAnimation(outToLeftAnimation());
|
||||||
|
currentView.setAnimation(inFromRightAnimation());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
previousView.setAnimation(outToRightAnimation());
|
||||||
|
currentView.setAnimation(inFromLeftAnimation());
|
||||||
|
}
|
||||||
|
previousView = currentView;
|
||||||
|
currentTab = tabHost.getCurrentTab();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom animation that animates in from right
|
||||||
|
*
|
||||||
|
* @return Animation the Animation object
|
||||||
|
*/
|
||||||
|
private Animation inFromRightAnimation()
|
||||||
|
{
|
||||||
|
Animation inFromRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 1.0f,
|
||||||
|
Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
|
||||||
|
0.0f);
|
||||||
|
return setProperties(inFromRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom animation that animates out to the right
|
||||||
|
*
|
||||||
|
* @return Animation the Animation object
|
||||||
|
*/
|
||||||
|
private Animation outToRightAnimation()
|
||||||
|
{
|
||||||
|
Animation outToRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
|
||||||
|
1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
|
||||||
|
return setProperties(outToRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom animation that animates in from left
|
||||||
|
*
|
||||||
|
* @return Animation the Animation object
|
||||||
|
*/
|
||||||
|
private Animation inFromLeftAnimation()
|
||||||
|
{
|
||||||
|
Animation inFromLeft = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -1.0f,
|
||||||
|
Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
|
||||||
|
0.0f);
|
||||||
|
return setProperties(inFromLeft);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom animation that animates out to the left
|
||||||
|
*
|
||||||
|
* @return Animation the Animation object
|
||||||
|
*/
|
||||||
|
private Animation outToLeftAnimation()
|
||||||
|
{
|
||||||
|
Animation outtoLeft = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
|
||||||
|
-1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
|
||||||
|
return setProperties(outtoLeft);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that sets some common properties
|
||||||
|
*
|
||||||
|
* @param animation
|
||||||
|
* the animation to give common properties
|
||||||
|
* @return the animation with common properties
|
||||||
|
*/
|
||||||
|
private Animation setProperties(Animation animation)
|
||||||
|
{
|
||||||
|
animation.setDuration(ANIMATION_TIME);
|
||||||
|
animation.setInterpolator(new AccelerateInterpolator());
|
||||||
|
return animation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A gesture listener that listens for a left or right swipe and uses the swip gesture to navigate a TabHost that
|
||||||
|
* uses an AnimatedTabHost listener.
|
||||||
|
*
|
||||||
|
* @author Daniel Kvist
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class MyGestureDetector extends GestureDetector.SimpleOnGestureListener
|
||||||
|
{
|
||||||
|
private static final int SWIPE_MIN_DISTANCE = 120;
|
||||||
|
private static final int SWIPE_MAX_OFF_PATH = 250;
|
||||||
|
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
|
||||||
|
private int maxTabs;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An empty constructor that uses the tabhosts content view to decide how many tabs there are.
|
||||||
|
*/
|
||||||
|
public MyGestureDetector()
|
||||||
|
{
|
||||||
|
maxTabs = tabHost.getTabContentView().getChildCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listens for the onFling event and performs some calculations between the touch down point and the touch up
|
||||||
|
* point. It then uses that information to calculate if the swipe was long enough. It also uses the swiping
|
||||||
|
* velocity to decide if it was a "true" swipe or just some random touching.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY)
|
||||||
|
{
|
||||||
|
int newTab = 0;
|
||||||
|
if (Math.abs(event1.getY() - event2.getY()) > SWIPE_MAX_OFF_PATH)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (event1.getX() - event2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY)
|
||||||
|
{
|
||||||
|
// Swipe right to left
|
||||||
|
newTab = currentTab + 1;
|
||||||
|
}
|
||||||
|
else if (event2.getX() - event1.getX() > SWIPE_MIN_DISTANCE
|
||||||
|
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY)
|
||||||
|
{
|
||||||
|
// Swipe left to right
|
||||||
|
newTab = currentTab - 1;
|
||||||
|
}
|
||||||
|
if (newTab < 0 || newTab > (maxTabs - 1))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
tabHost.setCurrentTab(newTab);
|
||||||
|
return super.onFling(event1, event2, velocityX, velocityY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -132,7 +132,7 @@ public class Database extends AppCompatActivity {
|
|||||||
} else {
|
} else {
|
||||||
newpicture = picture;
|
newpicture = picture;
|
||||||
}
|
}
|
||||||
if (email.isEmpty()) {
|
if (email == null) {
|
||||||
newemail = "EMPTY";
|
newemail = "EMPTY";
|
||||||
} else {
|
} else {
|
||||||
newemail = email;
|
newemail = email;
|
||||||
@ -532,7 +532,7 @@ public class Database extends AppCompatActivity {
|
|||||||
*/
|
*/
|
||||||
public void createUser(String username, String message_id, String name, String picture, String email) throws SQLException {
|
public void createUser(String username, String message_id, String name, String picture, String email) throws SQLException {
|
||||||
String SQL = "INSERT INTO \"User\" (username, message_id, name, picture, email) VALUES (?, ?, ?, ?, ?)";
|
String SQL = "INSERT INTO \"User\" (username, message_id, name, picture, email) VALUES (?, ?, ?, ?, ?)";
|
||||||
if (picture.isEmpty()) {
|
if (picture == null) {
|
||||||
picture = "https://st2.depositphotos.com/1537427/5927/v/950/depositphotos_59279377-stock-illustration-user-icon.jpg";
|
picture = "https://st2.depositphotos.com/1537427/5927/v/950/depositphotos_59279377-stock-illustration-user-icon.jpg";
|
||||||
}
|
}
|
||||||
sqlUpdate5Param(SQL, username, message_id, name, picture, email);
|
sqlUpdate5Param(SQL, username, message_id, name, picture, email);
|
||||||
|
@ -118,22 +118,17 @@ public class ShoppinglistSharedAdapter extends RecyclerView.Adapter<Shoppinglist
|
|||||||
|
|
||||||
holder.shoppinglistColor.setBackgroundColor(cardcolor);
|
holder.shoppinglistColor.setBackgroundColor(cardcolor);
|
||||||
|
|
||||||
if (shoppinglist.getSlId().equals("empty")) {
|
String uid = FirebaseAuth.getInstance().getUid();
|
||||||
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
|
|
||||||
if (user != null) {
|
|
||||||
// Name, email address, and profile photo Url
|
|
||||||
String name = user.getDisplayName();
|
|
||||||
Uri photoUrl = user.getPhotoUrl();
|
|
||||||
holder.ownerName.setText(name);
|
|
||||||
Picasso.get().load(photoUrl).resize(250, 250).transform(new RoundCornersTransformation(15, 15, true, true)).into(holder.imageView);
|
|
||||||
// holder.imageView.setImageDrawable(Drawable.createFromPath("@drawable/common_google_signin_btn_icon_dark"));
|
|
||||||
|
|
||||||
// Check if user's email is verified
|
|
||||||
|
|
||||||
// The user's ID, unique to the Firebase project. Do NOT use this value to
|
try {
|
||||||
// authenticate with your backend server, if you have one. Use
|
Member user = db.getUser(uid);
|
||||||
// FirebaseUser.getIdToken() instead.
|
holder.ownerName.setText(user.getName());
|
||||||
}
|
Picasso.get().load(user.getPic()).resize(250, 250).transform(new RoundCornersTransformation(15, 15, true, true)).into(holder.imageView);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
if (!shoppinglist.getSlId().equals("empty")) {
|
if (!shoppinglist.getSlId().equals("empty")) {
|
||||||
|
@ -1,27 +1,40 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/dashToolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:minHeight="?attr/actionBarSize"
|
||||||
|
android:theme="?attr/actionBarTheme"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/pfeilnachunten3"
|
android:id="@+id/pfeilnachunten3"
|
||||||
android:layout_width="84dp"
|
android:layout_width="60dp"
|
||||||
android:layout_height="331dp"
|
android:layout_height="190dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:background="@drawable/pfeil"
|
android:background="@drawable/pfeil"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/addShoppinglistFab"
|
app:layout_constraintBottom_toTopOf="@+id/addShoppinglistFab"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
|
||||||
<TabHost
|
<TabHost
|
||||||
android:id="@+id/tabHost1"
|
android:id="@+id/tabHost1"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toBottomOf="@+id/dashToolbar">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -113,7 +126,7 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
app:backgroundTint="@color/fui_linkColor"
|
app:backgroundTint="@color/colorButton"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/tabHost1"
|
app:layout_constraintEnd_toEndOf="@+id/tabHost1"
|
||||||
app:srcCompat="@drawable/addoutline" />
|
app:srcCompat="@drawable/addoutline" />
|
||||||
|
@ -4,10 +4,24 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_margin="8dp"
|
|
||||||
tools:context=".activitys.ItemListActivity">
|
tools:context=".activitys.ItemListActivity">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/itemToolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="0dp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:minHeight="?attr/actionBarSize"
|
||||||
|
android:padding="0dp"
|
||||||
|
android:theme="?attr/actionBarTheme"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<android.support.v4.widget.SwipeRefreshLayout
|
<android.support.v4.widget.SwipeRefreshLayout
|
||||||
|
android:layout_margin="8dp"
|
||||||
android:id="@+id/itemListRefresh"
|
android:id="@+id/itemListRefresh"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
@ -19,8 +33,7 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/itemToolbar">
|
||||||
app:layout_constraintVertical_bias="0.0">
|
|
||||||
|
|
||||||
<android.support.v7.widget.CardView
|
<android.support.v7.widget.CardView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -112,8 +125,8 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/pfeilnachunten2"
|
android:id="@+id/pfeilnachunten2"
|
||||||
android:layout_width="84dp"
|
android:layout_width="60dp"
|
||||||
android:layout_height="331dp"
|
android:layout_height="190dp"
|
||||||
android:layout_marginBottom="60dp"
|
android:layout_marginBottom="60dp"
|
||||||
android:background="@drawable/pfeil"
|
android:background="@drawable/pfeil"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
@ -131,7 +144,7 @@
|
|||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:src="@drawable/addoutline"
|
android:src="@drawable/addoutline"
|
||||||
app:backgroundTint="@color/fui_linkColor"
|
app:backgroundTint="@color/colorButton"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
android:id="@+id/loginEmailBtn"
|
android:id="@+id/loginEmailBtn"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text="Login Email" />
|
android:text="Login Email" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
|
@ -6,10 +6,21 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".activitys.ShoppinglistDetails">
|
tools:context=".activitys.ShoppinglistDetails">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/shoppinglistDetailsToolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:minHeight="?attr/actionBarSize"
|
||||||
|
android:theme="?attr/actionBarTheme"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/pfeilnachunten"
|
android:id="@+id/pfeilnachunten"
|
||||||
android:layout_width="66dp"
|
android:layout_width="60dp"
|
||||||
android:layout_height="299dp"
|
android:layout_height="190dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:background="@drawable/pfeil"
|
android:background="@drawable/pfeil"
|
||||||
@ -28,8 +39,7 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/shoppinglistDetailsToolbar">
|
||||||
app:layout_constraintVertical_bias="0.0">
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
<android.support.v7.widget.RecyclerView
|
||||||
android:id="@+id/groupRecycle"
|
android:id="@+id/groupRecycle"
|
||||||
@ -48,7 +58,7 @@
|
|||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:src="@drawable/addoutline"
|
android:src="@drawable/addoutline"
|
||||||
app:backgroundTint="@color/fui_linkColor"
|
app:backgroundTint="@color/colorButton"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
@ -94,6 +94,7 @@
|
|||||||
android:id="@+id/groupColor"
|
android:id="@+id/groupColor"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text="Farbe Auswählen" />
|
android:text="Farbe Auswählen" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@ -113,6 +114,7 @@
|
|||||||
android:id="@+id/groupFinish"
|
android:id="@+id/groupFinish"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text="Fertig" />
|
android:text="Fertig" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
@ -121,6 +121,7 @@
|
|||||||
android:id="@+id/itemFinish"
|
android:id="@+id/itemFinish"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text="Fertig" />
|
android:text="Fertig" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
@ -62,6 +62,7 @@
|
|||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:inputType="textPersonName"
|
android:inputType="textPersonName"
|
||||||
android:text="Shared Link"
|
android:text="Shared Link"
|
||||||
|
android:textIsSelectable="true"
|
||||||
tools:layout_editor_absoluteY="731dp" />
|
tools:layout_editor_absoluteY="731dp" />
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@ -71,13 +72,26 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center">
|
android:gravity="center">
|
||||||
|
|
||||||
<Button
|
<ImageButton
|
||||||
android:id="@+id/shareCopy"
|
android:id="@+id/shareIntentBtn"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="in die zwischenablage kopieren" />
|
android:background="@color/fui_transparent"
|
||||||
|
app:srcCompat="@drawable/share" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
|
<!--<TableRow-->
|
||||||
|
<!--android:layout_width="match_parent"-->
|
||||||
|
<!--android:layout_height="match_parent"-->
|
||||||
|
<!--android:gravity="center">-->
|
||||||
|
|
||||||
|
<!--<Button-->
|
||||||
|
<!--android:id="@+id/shareCopy"-->
|
||||||
|
<!--android:layout_width="wrap_content"-->
|
||||||
|
<!--android:layout_height="wrap_content"-->
|
||||||
|
<!--android:text="In die zwischenablage kopieren" />-->
|
||||||
|
<!--</TableRow>-->
|
||||||
|
|
||||||
<TableRow
|
<TableRow
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@ -87,9 +101,11 @@
|
|||||||
android:id="@+id/delShare"
|
android:id="@+id/delShare"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text=" Share Aufheben" />
|
android:text=" Share Aufheben" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
|
|
||||||
</android.support.v7.widget.CardView>
|
</android.support.v7.widget.CardView>
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
|
android:textIsSelectable="true"
|
||||||
android:inputType="textPersonName" />
|
android:inputType="textPersonName" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
@ -70,6 +71,7 @@
|
|||||||
android:id="@+id/shareAddFinish"
|
android:id="@+id/shareAddFinish"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text="Fertig" />
|
android:text="Fertig" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
|
@ -80,6 +80,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
|
android:editable="true"
|
||||||
|
android:textIsSelectable="true"
|
||||||
android:inputType="textPersonName" />
|
android:inputType="textPersonName" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@ -108,6 +110,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
|
android:editable="true"
|
||||||
|
android:textIsSelectable="true"
|
||||||
android:inputType="textPersonName" />
|
android:inputType="textPersonName" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@ -147,7 +151,8 @@
|
|||||||
android:id="@+id/addFertig"
|
android:id="@+id/addFertig"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Fertig" />
|
android:text="Fertig"
|
||||||
|
app:backgroundTint="@color/colorButton" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
|
@ -41,7 +41,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:editable="false"
|
android:editable="false"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:inputType="textPersonName" />
|
android:inputType="textPersonName"
|
||||||
|
android:textIsSelectable="true" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<TableRow
|
<TableRow
|
||||||
@ -49,13 +50,26 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center">
|
android:gravity="center">
|
||||||
|
|
||||||
<Button
|
<ImageButton
|
||||||
android:id="@+id/copyButton"
|
android:id="@+id/shareIntentBtn"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="in die zwischenablage kopieren" />
|
android:background="@color/fui_transparent"
|
||||||
|
app:srcCompat="@drawable/share" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
|
<!--<TableRow-->
|
||||||
|
<!--android:layout_width="match_parent"-->
|
||||||
|
<!--android:layout_height="match_parent"-->
|
||||||
|
<!--android:gravity="center">-->
|
||||||
|
|
||||||
|
<!--<Button-->
|
||||||
|
<!--android:id="@+id/copyButton"-->
|
||||||
|
<!--android:layout_width="wrap_content"-->
|
||||||
|
<!--android:layout_height="wrap_content"-->
|
||||||
|
<!--android:text="in die zwischenablage kopieren" />-->
|
||||||
|
<!--</TableRow>-->
|
||||||
|
|
||||||
<TableRow
|
<TableRow
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@ -65,6 +79,7 @@
|
|||||||
android:id="@+id/delShare"
|
android:id="@+id/delShare"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorButton"
|
||||||
android:text="Listen Sharing beenden!" />
|
android:text="Listen Sharing beenden!" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
|
@ -3,4 +3,5 @@
|
|||||||
<color name="colorPrimary">#FFFFFF</color>
|
<color name="colorPrimary">#FFFFFF</color>
|
||||||
<color name="colorPrimaryDark">#00574B</color>
|
<color name="colorPrimaryDark">#00574B</color>
|
||||||
<color name="colorAccent">#880e4f</color>
|
<color name="colorAccent">#880e4f</color>
|
||||||
|
<color name="colorButton">@color/fui_linkColor</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
|
<item name="windowActionBar">false</item>
|
||||||
|
<item name="windowNoTitle">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="popup_window_animation_phone">
|
<style name="popup_window_animation_phone">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user