diff --git a/app/build.gradle b/app/build.gradle index 214fd5c..299c427 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,13 +25,13 @@ def versionBuild = 9 def versionBuildNameSuffix = "" android { - compileSdkVersion 25 - buildToolsVersion '25.0.2' + compileSdkVersion 26 + buildToolsVersion '26.0.0' defaultConfig { applicationId "co.timetableapp" minSdkVersion 14 - targetSdkVersion 25 + targetSdkVersion 26 versionCode versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild versionName "$versionMajor.$versionMinor.$versionPatch" + versionBuildNameSuffix diff --git a/app/src/main/java/co/timetableapp/licenses/LibraryDetailActivity.kt b/app/src/main/java/co/timetableapp/licenses/LibraryDetailActivity.kt index 34ba917..5be7d7d 100644 --- a/app/src/main/java/co/timetableapp/licenses/LibraryDetailActivity.kt +++ b/app/src/main/java/co/timetableapp/licenses/LibraryDetailActivity.kt @@ -62,12 +62,12 @@ class LibraryDetailActivity : AppCompatActivity() { private fun setupLayout() { setupToolbar() - val container = findViewById(R.id.container) as LinearLayout + val container = findViewById(R.id.container) container.addView(makeLicenseCard(container)) } private fun setupToolbar() { - val toolbar = findViewById(R.id.toolbar) as Toolbar + val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) with(supportActionBar!!) { @@ -85,10 +85,9 @@ class LibraryDetailActivity : AppCompatActivity() { val card = layoutInflater.inflate(R.layout.item_license_card, container, false) with(card) { - (findViewById(R.id.title) as TextView).text = getString(R.string.title_license) - (findViewById(R.id.subtitle) as TextView).text = mLibrary!!.license.name - (findViewById(R.id.content_text) as TextView).text = - mLibrary!!.license.getNotice(context) + findViewById(R.id.title).text = getString(R.string.title_license) + findViewById(R.id.subtitle).text = mLibrary!!.license.name + findViewById(R.id.content_text).text = mLibrary!!.license.getNotice(context) } return card diff --git a/app/src/main/java/co/timetableapp/licenses/LicensesActivity.kt b/app/src/main/java/co/timetableapp/licenses/LicensesActivity.kt index 8a91042..980a16f 100644 --- a/app/src/main/java/co/timetableapp/licenses/LicensesActivity.kt +++ b/app/src/main/java/co/timetableapp/licenses/LicensesActivity.kt @@ -35,7 +35,7 @@ class LicensesActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_container) - val toolbar = findViewById(R.id.toolbar) as Toolbar + val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) toolbar.navigationIcon = UiUtils.tintDrawable(this, R.drawable.ic_arrow_back_black_24dp) @@ -85,7 +85,7 @@ class LicensesActivity : AppCompatActivity() { } private fun displayCards() { - val container = findViewById(R.id.container) as LinearLayout + val container = findViewById(R.id.container) Collections.sort(mLibraries) @@ -98,10 +98,10 @@ class LicensesActivity : AppCompatActivity() { val card = layoutInflater.inflate(R.layout.item_license_card, container, false) with(card) { - (findViewById(R.id.title) as TextView).text = library.name - (findViewById(R.id.subtitle) as TextView).text = library.author + findViewById(R.id.title).text = library.name + findViewById(R.id.subtitle).text = library.author - (findViewById(R.id.content_text) as TextView).text = library.license.getNotice(context) + findViewById(R.id.content_text).text = library.license.getNotice(context) setOnClickListener { val intent = Intent(context, LibraryDetailActivity::class.java) diff --git a/app/src/main/java/co/timetableapp/ui/NewItemSelectorFragment.kt b/app/src/main/java/co/timetableapp/ui/NewItemSelectorFragment.kt index 4941db8..4c81dfb 100644 --- a/app/src/main/java/co/timetableapp/ui/NewItemSelectorFragment.kt +++ b/app/src/main/java/co/timetableapp/ui/NewItemSelectorFragment.kt @@ -21,6 +21,7 @@ import android.support.design.widget.BottomSheetBehavior import android.support.design.widget.BottomSheetDialogFragment import android.support.design.widget.CoordinatorLayout import android.view.View +import android.widget.FrameLayout import co.timetableapp.R import co.timetableapp.model.agenda.AgendaType @@ -59,13 +60,13 @@ class NewItemSelectorFragment : BottomSheetDialogFragment() { } private fun setClickListeners(dialog: Dialog) { - dialog.findViewById(R.id.frameLayout_assignment).setOnClickListener { + dialog.findViewById(R.id.frameLayout_assignment).setOnClickListener { newItemAction?.invoke(it, dialog, AgendaType.ASSIGNMENT) } - dialog.findViewById(R.id.frameLayout_exam).setOnClickListener { + dialog.findViewById(R.id.frameLayout_exam).setOnClickListener { newItemAction?.invoke(it, dialog, AgendaType.EXAM) } - dialog.findViewById(R.id.frameLayout_event).setOnClickListener { + dialog.findViewById(R.id.frameLayout_event).setOnClickListener { newItemAction?.invoke(it, dialog, AgendaType.EVENT) } } diff --git a/app/src/main/java/co/timetableapp/ui/agenda/AgendaActivity.kt b/app/src/main/java/co/timetableapp/ui/agenda/AgendaActivity.kt index 00d19f5..bc74030 100644 --- a/app/src/main/java/co/timetableapp/ui/agenda/AgendaActivity.kt +++ b/app/src/main/java/co/timetableapp/ui/agenda/AgendaActivity.kt @@ -19,6 +19,7 @@ package co.timetableapp.ui.agenda import android.content.DialogInterface import android.content.Intent import android.os.Bundle +import android.support.design.widget.FloatingActionButton import android.support.design.widget.NavigationView import android.support.design.widget.Snackbar import android.support.design.widget.TabLayout @@ -59,7 +60,7 @@ class AgendaActivity : NavigationDrawerActivity() { const val DEFAULT_SHOW_PAST = false } - private val mViewPager by lazy { findViewById(R.id.viewPager) as ViewPager } + private val mViewPager by lazy { findViewById(R.id.viewPager) } private var mShowCompleted = true private var mShowPast = DEFAULT_SHOW_PAST @@ -75,14 +76,14 @@ class AgendaActivity : NavigationDrawerActivity() { } private fun setupToolbar() { - val toolbar = findViewById(R.id.toolbar) as Toolbar + val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) } private fun setupLayout() { mViewPager.adapter = PagerAdapter(supportFragmentManager) - val tabLayout = findViewById(R.id.tabLayout) as TabLayout + val tabLayout = findViewById(R.id.tabLayout) tabLayout.setTabTextColors( ContextCompat.getColor(this, R.color.mdu_text_white_secondary), ContextCompat.getColor(this, R.color.mdu_text_white)) @@ -95,7 +96,7 @@ class AgendaActivity : NavigationDrawerActivity() { } private fun setupFab() { - findViewById(R.id.fab).setOnClickListener { + findViewById(R.id.fab).setOnClickListener { val dialogFragment = NewItemSelectorFragment() dialogFragment.onCreateNewAgendaItem { _, dialog, agendaType -> @@ -184,11 +185,11 @@ class AgendaActivity : NavigationDrawerActivity() { override fun getSelfNavDrawerItem() = NAVDRAWER_ITEM_AGENDA - override fun getSelfToolbar() = findViewById(R.id.toolbar) as Toolbar + override fun getSelfToolbar(): Toolbar = findViewById(R.id.toolbar) - override fun getSelfDrawerLayout() = findViewById(R.id.drawerLayout) as DrawerLayout + override fun getSelfDrawerLayout(): DrawerLayout = findViewById(R.id.drawerLayout) - override fun getSelfNavigationView() = findViewById(R.id.navigationView) as NavigationView + override fun getSelfNavigationView(): NavigationView = findViewById(R.id.navigationView) /** * Interface definition for a callback to be invoked when the agenda filter has been updated. diff --git a/app/src/main/java/co/timetableapp/ui/agenda/AgendaFragment.kt b/app/src/main/java/co/timetableapp/ui/agenda/AgendaFragment.kt index 0503927..4163b8e 100644 --- a/app/src/main/java/co/timetableapp/ui/agenda/AgendaFragment.kt +++ b/app/src/main/java/co/timetableapp/ui/agenda/AgendaFragment.kt @@ -134,7 +134,7 @@ class AgendaFragment : Fragment(), AgendaActivity.OnFilterChangeListener { private fun setupLayout() { setupList() - mPlaceholderLayout = mRootView.findViewById(R.id.placeholder) as FrameLayout + mPlaceholderLayout = mRootView.findViewById(R.id.placeholder) refreshPlaceholderStatus() } @@ -142,7 +142,7 @@ class AgendaFragment : Fragment(), AgendaActivity.OnFilterChangeListener { mDataHelper.createList(mItems) setupAdapter() - mRecyclerView = mRootView.findViewById(R.id.recyclerView) as RecyclerView + mRecyclerView = mRootView.findViewById(R.id.recyclerView) with(mRecyclerView) { layoutManager = LinearLayoutManager(activity) setHasFixedSize(true) diff --git a/app/src/main/java/co/timetableapp/ui/agenda/AgendaItemsAdapter.kt b/app/src/main/java/co/timetableapp/ui/agenda/AgendaItemsAdapter.kt index 14dd5f8..ee4079c 100644 --- a/app/src/main/java/co/timetableapp/ui/agenda/AgendaItemsAdapter.kt +++ b/app/src/main/java/co/timetableapp/ui/agenda/AgendaItemsAdapter.kt @@ -54,24 +54,19 @@ class AgendaItemsAdapter( } class HeaderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { - val textView: TextView = itemView.findViewById(R.id.text) as TextView + val textView: TextView = itemView.findViewById(R.id.text) } inner class AgendaViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { - val colorView: View - val title: TextView - val subtitle: TextView - val info1: TextView - val info2: TextView + val colorView: View = itemView.findViewById(R.id.color) + val title: TextView = itemView.findViewById(R.id.text1) + val subtitle: TextView = itemView.findViewById(R.id.text2) + val info1: TextView = itemView.findViewById(R.id.text3) + val info2: TextView = itemView.findViewById(R.id.text4) init { itemView.setOnClickListener { onItemClick?.invoke(it, layoutPosition) } - colorView = itemView.findViewById(R.id.color) - title = itemView.findViewById(R.id.text1) as TextView - subtitle = itemView.findViewById(R.id.text2) as TextView - info1 = itemView.findViewById(R.id.text3) as TextView - info2 = itemView.findViewById(R.id.text4) as TextView } } diff --git a/app/src/main/java/co/timetableapp/ui/assignments/AssignmentDetailActivity.kt b/app/src/main/java/co/timetableapp/ui/assignments/AssignmentDetailActivity.kt index 65631e7..659ae16 100644 --- a/app/src/main/java/co/timetableapp/ui/assignments/AssignmentDetailActivity.kt +++ b/app/src/main/java/co/timetableapp/ui/assignments/AssignmentDetailActivity.kt @@ -54,12 +54,12 @@ class AssignmentDetailActivity : ItemDetailActivity() { setupToolbar() val dateFormatter = DateUtils.FORMATTER_FULL_DATE - (findViewById(R.id.textView_date) as TextView).text = mItem.dueDate.format(dateFormatter) + findViewById(R.id.textView_date).text = mItem.dueDate.format(dateFormatter) - val progressText = findViewById(R.id.textView_progress) as TextView + val progressText = findViewById(R.id.textView_progress) progressText.text = getString(R.string.property_progress, mItem.completionProgress) - val seekBar = findViewById(R.id.seekBar) as SeekBar + val seekBar = findViewById(R.id.seekBar) with(seekBar) { max = 20 // so it goes up in 5s progress = mItem.completionProgress / 5 @@ -77,12 +77,12 @@ class AssignmentDetailActivity : ItemDetailActivity() { }) } - val detailText = findViewById(R.id.textView_detail) as TextView + val detailText = findViewById(R.id.textView_detail) UiUtils.formatNotesTextView(this, detailText, mItem.detail) } private fun setupToolbar() { - val toolbar = findViewById(R.id.toolbar) as Toolbar + val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) toolbar.navigationIcon = UiUtils.tintDrawable(this, R.drawable.ic_arrow_back_black_24dp) @@ -91,10 +91,10 @@ class AssignmentDetailActivity : ItemDetailActivity() { val cls = Class.create(this, mItem.classId) val subject = Subject.create(this, cls.subjectId) - val textViewTitle = findViewById(R.id.title) as TextView + val textViewTitle = findViewById(R.id.title) textViewTitle.text = mItem.title - val textViewSubtitle = findViewById(R.id.subtitle) as TextView + val textViewSubtitle = findViewById(R.id.subtitle) textViewSubtitle.text = subject.name val color = Color(subject.colorId) diff --git a/app/src/main/java/co/timetableapp/ui/assignments/AssignmentEditActivity.kt b/app/src/main/java/co/timetableapp/ui/assignments/AssignmentEditActivity.kt index f695ffd..2ef3dbf 100644 --- a/app/src/main/java/co/timetableapp/ui/assignments/AssignmentEditActivity.kt +++ b/app/src/main/java/co/timetableapp/ui/assignments/AssignmentEditActivity.kt @@ -82,7 +82,7 @@ class AssignmentEditActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_assignment_edit) - mToolbar = findViewById(R.id.toolbar) as Toolbar + mToolbar = findViewById(R.id.toolbar) setSupportActionBar(mToolbar) val extras = intent.extras @@ -105,12 +105,12 @@ class AssignmentEditActivity : AppCompatActivity() { } private fun setupLayout() { - mTitleEditText = findViewById(R.id.editText_title) as EditText + mTitleEditText = findViewById(R.id.editText_title) if (!mIsNew) { mTitleEditText.setText(mAssignment!!.title) } - mDetailEditText = findViewById(R.id.editText_detail) as EditText + mDetailEditText = findViewById(R.id.editText_detail) if (!mIsNew) { mDetailEditText.setText(mAssignment!!.detail) } @@ -120,7 +120,7 @@ class AssignmentEditActivity : AppCompatActivity() { } private fun setupClassText() { - mClassText = findViewById(R.id.textView_class) as TextView + mClassText = findViewById(R.id.textView_class) if (!mIsNew) { mClass = Class.create(this, mAssignment!!.classId) @@ -149,7 +149,7 @@ class AssignmentEditActivity : AppCompatActivity() { } val titleView = layoutInflater.inflate(R.layout.dialog_title_with_padding, null) - (titleView.findViewById(R.id.title) as TextView).setText(R.string.choose_class) + titleView.findViewById(R.id.title).setText(R.string.choose_class) builder.setView(recyclerView) .setCustomTitle(titleView) @@ -160,7 +160,7 @@ class AssignmentEditActivity : AppCompatActivity() { } private fun setupDateText() { - mDateText = findViewById(R.id.textView_date) as TextView + mDateText = findViewById(R.id.textView_date) if (!mIsNew) { mDueDate = mAssignment!!.dueDate diff --git a/app/src/main/java/co/timetableapp/ui/base/ItemEditActivity.kt b/app/src/main/java/co/timetableapp/ui/base/ItemEditActivity.kt index dbff11c..53de852 100644 --- a/app/src/main/java/co/timetableapp/ui/base/ItemEditActivity.kt +++ b/app/src/main/java/co/timetableapp/ui/base/ItemEditActivity.kt @@ -104,7 +104,7 @@ abstract class ItemEditActivity : AppCompatActivity() { } private fun setupToolbar(): Toolbar { - val toolbar = findViewById(R.id.toolbar) as Toolbar + val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) supportActionBar!!.setTitle(getTitleRes(mIsNew)) diff --git a/app/src/main/java/co/timetableapp/ui/classes/ClassDetailActivity.kt b/app/src/main/java/co/timetableapp/ui/classes/ClassDetailActivity.kt index 4e9c864..3452507 100644 --- a/app/src/main/java/co/timetableapp/ui/classes/ClassDetailActivity.kt +++ b/app/src/main/java/co/timetableapp/ui/classes/ClassDetailActivity.kt @@ -23,6 +23,7 @@ import android.support.v4.content.ContextCompat import android.support.v7.widget.Toolbar import android.text.Html import android.view.View +import android.view.ViewGroup import android.widget.LinearLayout import android.widget.TextView import co.timetableapp.R @@ -68,7 +69,7 @@ class ClassDetailActivity : ItemDetailActivity() { setupToolbar() setupClassDetailCard() - findViewById(R.id.main_card).setBackgroundColor( + findViewById(R.id.main_card).setBackgroundColor( ContextCompat.getColor(this, mColor.getLightAccentColorRes(this))) setupRelatedItemCards() @@ -77,7 +78,7 @@ class ClassDetailActivity : ItemDetailActivity() { private fun setupToolbar() { val subject = Subject.create(this, mItem.subjectId) - val toolbar = findViewById(R.id.toolbar) as Toolbar + val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) toolbar.navigationIcon = UiUtils.tintDrawable(this, R.drawable.ic_arrow_back_black_24dp) @@ -161,19 +162,19 @@ class ClassDetailActivity : ItemDetailActivity() { */ private fun setClassDetailTexts(locations: String, teachers: String, classTimes: String) { val locationVisibility = if (locations.isEmpty()) View.GONE else View.VISIBLE - findViewById(R.id.viewGroup_location).visibility = locationVisibility + findViewById(R.id.viewGroup_location).visibility = locationVisibility if (locations.isNotEmpty()) { - (findViewById(R.id.textView_location) as TextView).text = locations + findViewById(R.id.textView_location).text = locations } val teacherVisibility = if (teachers.isEmpty()) View.GONE else View.VISIBLE - findViewById(R.id.viewGroup_teacher).visibility = teacherVisibility + findViewById(R.id.viewGroup_teacher).visibility = teacherVisibility if (teachers.isNotEmpty()) { - (findViewById(R.id.textView_teacher) as TextView).text = teachers + findViewById(R.id.textView_teacher).text = teachers } // No need to check if it's empty - all class details must have a class time - val textViewTimes = findViewById(R.id.textView_times) as TextView + val textViewTimes = findViewById(R.id.textView_times) textViewTimes.text = classTimes } @@ -182,7 +183,7 @@ class ClassDetailActivity : ItemDetailActivity() { * exams for this class. */ private fun setupRelatedItemCards() { - val cardContainer = findViewById(R.id.card_container) as LinearLayout + val cardContainer = findViewById(R.id.card_container) val assignmentsCard = CardOfItems.Builder(this, cardContainer) .setTitle(R.string.title_assignments) diff --git a/app/src/main/java/co/timetableapp/ui/classes/ClassEditActivity.kt b/app/src/main/java/co/timetableapp/ui/classes/ClassEditActivity.kt index 5c4f865..49b2938 100644 --- a/app/src/main/java/co/timetableapp/ui/classes/ClassEditActivity.kt +++ b/app/src/main/java/co/timetableapp/ui/classes/ClassEditActivity.kt @@ -100,9 +100,9 @@ class ClassEditActivity : ItemEditActivity() { } override fun setupLayout() { - mAppBarLayout = findViewById(R.id.appBarLayout) as AppBarLayout + mAppBarLayout = findViewById(R.id.appBarLayout) - mModuleEditText = findViewById(R.id.editText_module) as EditText + mModuleEditText = findViewById(R.id.editText_module) if (!mIsNew) { mModuleEditText.setText(mItem!!.moduleName) } @@ -118,8 +118,8 @@ class ClassEditActivity : ItemEditActivity() { } private fun setupDateTexts() { - mStartDateText = findViewById(R.id.textView_start_date) as TextView - mEndDateText = findViewById(R.id.textView_end_date) as TextView + mStartDateText = findViewById(R.id.textView_start_date) + mEndDateText = findViewById(R.id.textView_end_date) if (!mIsNew && mItem!!.hasStartEndDates()) { mStartDate = mItem!!.startDate @@ -185,8 +185,8 @@ class ClassEditActivity : ItemEditActivity() { } private fun setupDateSwitch() { - val datesSwitch = findViewById(R.id.dates_switch) as Switch - val datesSection = findViewById(R.id.dates_section) + val datesSwitch = findViewById(R.id.dates_switch) + val datesSection = findViewById(R.id.dates_section) datesSwitch.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { @@ -213,10 +213,10 @@ class ClassEditActivity : ItemEditActivity() { } private fun setupExpandToggle() { - val detailSection = findViewById(R.id.linearLayout_details) + val detailSection = findViewById(R.id.linearLayout_details) - val expandToggle = findViewById(R.id.expand_toggle) - val expandIcon = findViewById(R.id.expand_icon) as ImageView + val expandToggle = findViewById(R.id.expand_toggle) + val expandIcon = findViewById(R.id.expand_icon) expandToggle.setOnClickListener(object : View.OnClickListener { internal var mIsExpanded = false @@ -274,10 +274,10 @@ class ClassEditActivity : ItemEditActivity() { * @see populateTabs */ private fun setupTabs() { - mTabLayout = findViewById(R.id.tabLayout) as TabLayout + mTabLayout = findViewById(R.id.tabLayout) mTabLayout.tabMode = TabLayout.MODE_SCROLLABLE - val viewPager = findViewById(R.id.viewPager) as ViewPager + val viewPager = findViewById(R.id.viewPager) viewPager.adapter = mPagerAdapter mTabLayout.setupWithViewPager(viewPager) @@ -315,17 +315,17 @@ class ClassEditActivity : ItemEditActivity() { val page = layoutInflater.inflate(R.layout.fragment_class_edit, null) - val room = page.findViewById(R.id.editText_room) as EditText + val room = page.findViewById(R.id.editText_room) if (!isNewDetail) { room.setText(classDetail!!.room) } - val building = page.findViewById(R.id.editText_building) as EditText + val building = page.findViewById(R.id.editText_building) if (!isNewDetail) { building.setText(classDetail!!.building) } - val teacher = page.findViewById(R.id.editText_teacher) as EditText + val teacher = page.findViewById(R.id.editText_teacher) if (!isNewDetail) { teacher.setText(classDetail!!.teacher) } @@ -365,14 +365,14 @@ class ClassEditActivity : ItemEditActivity() { mAdapters.add(adapter) - val recyclerView = page.findViewById(R.id.recyclerView) as RecyclerView + val recyclerView = page.findViewById(R.id.recyclerView) recyclerView.setHasFixedSize(true) recyclerView.layoutManager = object : LinearLayoutManager(this) { override fun canScrollVertically() = false } recyclerView.adapter = adapter - val btnAddTime = page.findViewById(R.id.button_add_time) as Button + val btnAddTime = page.findViewById