Explorar el Código

Cardlayout equipments

master
Flo Smilari hace 3 años
padre
commit
784eecdff5

BIN
.gradle/7.3.3/executionHistory/executionHistory.bin Ver fichero


BIN
.gradle/7.3.3/executionHistory/executionHistory.lock Ver fichero


BIN
.gradle/7.3.3/fileHashes/fileHashes.bin Ver fichero


BIN
.gradle/7.3.3/fileHashes/fileHashes.lock Ver fichero


BIN
.gradle/7.3.3/fileHashes/resourceHashesCache.bin Ver fichero


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock Ver fichero


+ 3
- 2
.idea/encodings.xml Ver fichero

@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/database/RBSDatabaseHelper.java" charset="windows-1252" />
<file url="file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/IEntity.java" charset="windows-1252" />
<file url="file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/database/RBSDatabaseHelper.java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/IEntity.java" charset="UTF-8" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

+ 1
- 1
.idea/misc.xml Ver fichero

@@ -22,7 +22,7 @@
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_calcsight.xml" value="0.15812841530054644" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment.xml" value="0.12361111111111112" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_add.xml" value="0.15812841530054644" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose.xml" value="0.12361111111111112" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose.xml" value="0.33" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose_list.xml" value="0.25" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_gallery.xml" value="0.1480978260869565" />
<entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_home.xml" value="0.14855072463768115" />

+ 1
- 1
.idea/workspace.xml Ver fichero

@@ -58,7 +58,7 @@
<property name="format.on.save" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/.." />
<property name="optimize.imports.on.save" value="true" />
<property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Java" />
<property name="settings.editor.selected.configurable" value="File.Encoding" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">

+ 10
- 0
app/src/main/java/ch/spherIC/recurvebowsight/model/ArcherySetup.java Ver fichero

@@ -116,6 +116,11 @@ public class ArcherySetup implements IArcherySetup {
return this.sight;
}
@Override
public String getSightName() {
return this.sight != null ? this.sight.getManufacturer() + " " + this.sight.getModel() : "";
}
/**
* @param sight the sight to set
*/
@@ -132,6 +137,11 @@ public class ArcherySetup implements IArcherySetup {
return this.riser;
}
@Override
public String getRiserName() {
return this.riser != null ? this.riser.getManufacturer() + " " + this.riser.getModel() : "";
}
/**
* @param riser the riser to set
*/

+ 4
- 0
app/src/main/java/ch/spherIC/recurvebowsight/model/IArcherySetup.java Ver fichero

@@ -10,10 +10,14 @@ public interface IArcherySetup extends IEntity {
ISight getSight();
String getSightName();
void setSight(ISight sight);
IRiser getRiser();
String getRiserName();
void setRiser(IRiser riser);
Double getArrowDiameter();

+ 1
- 1
app/src/main/java/ch/spherIC/recurvebowsight/model/IEntity.java Ver fichero

@@ -4,7 +4,7 @@
package ch.spherIC.recurvebowsight.model;
/**
* Vaterklasse aller Entitäten.
* Baseclass for all entities.
*
* @author F. Smilari
*/

+ 16
- 2
app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/EquipmentFragment.java Ver fichero

@@ -6,12 +6,17 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.List;

import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import ch.spherIC.recurvebowsight.R;
import ch.spherIC.recurvebowsight.placeholder.PlaceholderContent;
import ch.spherIC.recurvebowsight.database.dao.ArcherySetupDao;
import ch.spherIC.recurvebowsight.model.ArcherySetup;
import ch.spherIC.recurvebowsight.model.IArcherySetup;

/**
* A fragment representing a list of Items.
@@ -63,8 +68,17 @@ public class EquipmentFragment extends Fragment {
} else {
recyclerView.setLayoutManager(new GridLayoutManager(context, mColumnCount));
}
recyclerView.setAdapter(new EquipmentRecyclerViewAdapter(PlaceholderContent.ITEMS));
recyclerView.setAdapter(new EquipmentRecyclerViewAdapter(getAllArcherySetups(), context));
}
return view;
}

private List<IArcherySetup> getAllArcherySetups() {
List<IArcherySetup> setups = new ArrayList<IArcherySetup>();

setups.add(new ArcherySetup(-999, "", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null));
setups.addAll(ArcherySetupDao.getInstance().loadAll());

return setups;
}
}

+ 34
- 15
app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/EquipmentRecyclerViewAdapter.java Ver fichero

@@ -1,5 +1,6 @@
package ch.spherIC.recurvebowsight.ui.equipment;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.TextView;
@@ -7,7 +8,9 @@ import android.widget.TextView;
import java.util.List;

import androidx.recyclerview.widget.RecyclerView;
import ch.spherIC.recurvebowsight.R;
import ch.spherIC.recurvebowsight.databinding.FragmentEquipmentChooseBinding;
import ch.spherIC.recurvebowsight.model.IArcherySetup;
import ch.spherIC.recurvebowsight.placeholder.PlaceholderContent.PlaceholderItem;

/**
@@ -16,45 +19,61 @@ import ch.spherIC.recurvebowsight.placeholder.PlaceholderContent.PlaceholderItem
*/
public class EquipmentRecyclerViewAdapter extends RecyclerView.Adapter<EquipmentRecyclerViewAdapter.ViewHolder> {

private final List<PlaceholderItem> mValues;
private final List<IArcherySetup> archerySetups;
private final Context context;

public EquipmentRecyclerViewAdapter(List<PlaceholderItem> items) {
mValues = items;
public EquipmentRecyclerViewAdapter(List<IArcherySetup> items, Context context) {
this.context = context;
this.archerySetups = items;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

return new ViewHolder(FragmentEquipmentChooseBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));

}

@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
holder.mItem = mValues.get(position);
holder.mIdView.setText(mValues.get(position).id);
holder.mContentView.setText(mValues.get(position).content);
IArcherySetup archerySetup = archerySetups.get(position);
holder.archerySetup = archerySetup;
holder.mSetupNameView.setText(getSetupName(archerySetup));
holder.mRiserNameView.setText(getRiserName(archerySetup));
holder.mSightNameView.setText(getSightName(archerySetup));
}

private String getSetupName(IArcherySetup archerySetup) {
return archerySetup.getId() == -999 ? this.context.getString(R.string.caption_NoSelection) : archerySetup.getName();
}

private String getRiserName(IArcherySetup archerySetup) {
return archerySetup.getId() == -999 ? "-" : archerySetup.getRiserName();
}

private String getSightName(IArcherySetup archerySetup) {
return archerySetup.getId() == -999 ? "-" : archerySetup.getSightName();
}

@Override
public int getItemCount() {
return mValues.size();
return archerySetups.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {
public final TextView mIdView;
public final TextView mContentView;
public PlaceholderItem mItem;
public final TextView mSetupNameView;
public final TextView mRiserNameView;
public final TextView mSightNameView;
public IArcherySetup archerySetup;

public ViewHolder(FragmentEquipmentChooseBinding binding) {
super(binding.getRoot());
mIdView = binding.itemNumber;
mContentView = binding.content;
mSetupNameView = binding.setupName;
mRiserNameView = binding.riserName;
mSightNameView = binding.sightName;
}

@Override
public String toString() {
return super.toString() + " '" + mContentView.getText() + "'";
return super.toString() + " '" + mSetupNameView.getText() + "'";
}
}
}

+ 117
- 14
app/src/main/res/layout/fragment_equipment_choose.xml Ver fichero

@@ -1,20 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/item_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<androidx.cardview.widget.CardView
android:id="@+id/card_view_border"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/text_margin"
android:textAppearance="?attr/textAppearanceListItem" />
android:backgroundTint="#54AAD1"
app:cardCornerRadius="20dp"
app:cardElevation="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<TextView
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
android:textAppearance="?attr/textAppearanceListItem" />
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<androidx.cardview.widget.CardView
android:id="@+id/card_view_setup"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="4dp"
android:layout_marginEnd="4dp"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
app:cardBackgroundColor="#74CBF3"
app:cardCornerRadius="16dp"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/setup_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:text="setup_name"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
app:layout_constraintStart_toEndOf="@+id/setup_image_view"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/riser_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginStart="16dp"
android:text="riser_name"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/setup_image_view" />

<TextView
android:id="@+id/spacer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginStart="10dp"
android:text="●"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/riser_name" />

<TextView
android:id="@+id/sight_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginStart="10dp"
android:text="sight_name"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/spacer" />

<androidx.cardview.widget.CardView
android:id="@+id/setup_image_view"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginBottom="20dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:contentDescription="@string/menu_equipment"
app:cardCornerRadius="8dp"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">


<ImageView
android:id="@+id/setup_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/side_nav_bar"
android:contentDescription="@string/menu_equipment"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_menu_equipment" />

</androidx.cardview.widget.CardView>

</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

</androidx.cardview.widget.CardView>

</androidx.constraintlayout.widget.ConstraintLayout>

+ 1
- 0
app/src/main/res/values-de/strings.xml Ver fichero

@@ -14,4 +14,5 @@
<string name="menu_equipment_add">Ausrüstung hinzufügen</string>
<string name="menu_equipment_choose">Ausrüstung wählen</string>
<string name="menu_calculate_sight">Visiereinstellung berechnen</string>
<string name="caption_NoSelection">Keine Auswahl...</string>
</resources>

+ 1
- 1
app/src/main/res/values/strings.xml Ver fichero

@@ -13,6 +13,6 @@
<string name="menu_equipment_add">Add Equipment</string>
<string name="menu_equipment_choose">Choose Equipment</string>
<string name="menu_calculate_sight">Calculate Sight</string>
<string name="caption_NoSelection">No Selection...</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
</resources>

Cargando…
Cancelar
Guardar