diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index 77519d152..4078d2e48 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -4,15 +4,24 @@ package org.mozilla.fenix.home +import android.content.Context +import android.os.Build import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TextView +import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.fragment_home.* import org.mozilla.fenix.R +import android.widget.RelativeLayout +import android.graphics.Color +import androidx.recyclerview.widget.LinearLayoutManager + class HomeFragment : Fragment() { override fun onCreateView( @@ -22,15 +31,26 @@ class HomeFragment : Fragment() { return inflater.inflate(R.layout.fragment_home, container, false) } + private lateinit var sessionsAdapter: SessionsAdapter + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + + sessionsAdapter = SessionsAdapter(requireContext()) + toolbar_wrapper.clipToOutline = false toolbar.apply { textColor = ContextCompat.getColor(context, R.color.searchText) textSize = 14f - hint = "Search the Web or enter address" + hint = context.getString(R.string.search_hint) hintColor = ContextCompat.getColor(context, R.color.searchText) } + + session_list.apply { + adapter = sessionsAdapter + layoutManager = LinearLayoutManager(requireContext()) + setHasFixedSize(true) + } } @@ -38,3 +58,28 @@ class HomeFragment : Fragment() { fun create() = HomeFragment() } } + +// Temporary adapter +private class SessionsAdapter(val context: Context) : RecyclerView.Adapter() { + class ViewHolder(val textView: TextView) : RecyclerView.ViewHolder(textView) {} + + @RequiresApi(Build.VERSION_CODES.M) + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val textView = TextView(context).apply { + val lp = RelativeLayout.LayoutParams( + RelativeLayout.LayoutParams.WRAP_CONTENT, // Width of TextView + RelativeLayout.LayoutParams.WRAP_CONTENT + ) + setLayoutParams(lp) + setText("This is a sample TextView...") + setTextColor(Color.parseColor("#ff0000")) + } + return ViewHolder(textView) + } + + override fun getItemCount(): Int = 0 + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + holder.textView.text = "Cell: ${position}" + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index c6c57cb16..4e1115114 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -2,12 +2,14 @@ - @@ -17,6 +19,7 @@ android:src="@drawable/ic_menu" android:layout_width="48dp" android:layout_height="48dp" + android:layout_marginTop="16dp" android:background="?android:attr/selectableItemBackgroundBorderless" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -64,4 +67,14 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0da33fb38..489bf12aa 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,4 +3,5 @@ Hello blank fragment + Search the Web or enter address diff --git a/app/src/main/res/xml/home_scene.xml b/app/src/main/res/xml/home_scene.xml new file mode 100644 index 000000000..586686e8d --- /dev/null +++ b/app/src/main/res/xml/home_scene.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index da9db5bb2..8bb862710 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -8,7 +8,7 @@ private object Versions { const val geckoNightly = "66.0.20181217093726" const val androidx_appcompat = "1.0.2" - const val androidx_constraint_layout = "1.1.3" + const val androidx_constraint_layout = "2.0.0-alpha3" const val mozilla_android_components = "0.37.0"