mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-17 04:10:45 +01:00
convert MainActivity to kotlin
This commit is contained in:
parent
0993212094
commit
228ab622e5
@ -1,111 +0,0 @@
|
|||||||
package com.simplemobiletools.calendar.activities;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.Menu;
|
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.View;
|
|
||||||
|
|
||||||
import com.simplemobiletools.calendar.Config;
|
|
||||||
import com.simplemobiletools.calendar.Constants;
|
|
||||||
import com.simplemobiletools.calendar.Formatter;
|
|
||||||
import com.simplemobiletools.calendar.R;
|
|
||||||
import com.simplemobiletools.calendar.adapters.MyPagerAdapter;
|
|
||||||
import com.simplemobiletools.calendar.fragments.MonthFragment;
|
|
||||||
import com.simplemobiletools.calendar.views.MyViewPager;
|
|
||||||
|
|
||||||
import org.joda.time.DateTime;
|
|
||||||
import org.joda.time.DateTimeZone;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import butterknife.BindDimen;
|
|
||||||
import butterknife.BindView;
|
|
||||||
import butterknife.ButterKnife;
|
|
||||||
import butterknife.OnClick;
|
|
||||||
|
|
||||||
public class MainActivity extends SimpleActivity implements MonthFragment.NavigationListener {
|
|
||||||
@BindView(R.id.view_pager) MyViewPager mPager;
|
|
||||||
|
|
||||||
@BindDimen(R.dimen.day_text_size) float mDayTextSize;
|
|
||||||
@BindDimen(R.dimen.today_text_size) float mTodayTextSize;
|
|
||||||
|
|
||||||
private static final int PREFILLED_MONTHS = 73;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_main);
|
|
||||||
ButterKnife.bind(this);
|
|
||||||
|
|
||||||
final String today = new DateTime().toString(Formatter.DAYCODE_PATTERN);
|
|
||||||
fillViewPager(today);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onDestroy() {
|
|
||||||
super.onDestroy();
|
|
||||||
Config.newInstance(getApplicationContext()).setIsFirstRun(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
getMenuInflater().inflate(R.menu.menu, menu);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
|
||||||
switch (item.getItemId()) {
|
|
||||||
case R.id.settings:
|
|
||||||
startActivity(new Intent(getApplicationContext(), SettingsActivity.class));
|
|
||||||
return true;
|
|
||||||
case R.id.about:
|
|
||||||
startActivity(new Intent(getApplicationContext(), AboutActivity.class));
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return super.onOptionsItemSelected(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@OnClick(R.id.calendar_fab)
|
|
||||||
public void fabClicked(View view) {
|
|
||||||
final Intent intent = new Intent(getApplicationContext(), EventActivity.class);
|
|
||||||
final String tomorrowCode = Formatter.getDayCodeFromDateTime(new DateTime(DateTimeZone.getDefault()).plusDays(1));
|
|
||||||
intent.putExtra(Constants.DAY_CODE, tomorrowCode);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillViewPager(String targetMonth) {
|
|
||||||
final List<String> codes = getMonths(targetMonth);
|
|
||||||
final MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), codes, this);
|
|
||||||
mPager.setAdapter(adapter);
|
|
||||||
mPager.setCurrentItem(codes.size() / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getMonths(String code) {
|
|
||||||
final List<String> months = new ArrayList<>(PREFILLED_MONTHS);
|
|
||||||
final DateTime today = Formatter.getDateTimeFromCode(code);
|
|
||||||
for (int i = -PREFILLED_MONTHS / 2; i <= PREFILLED_MONTHS / 2; i++) {
|
|
||||||
months.add(Formatter.getDayCodeFromDateTime(today.plusMonths(i)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return months;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void goLeft() {
|
|
||||||
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void goRight() {
|
|
||||||
mPager.setCurrentItem(mPager.getCurrentItem() + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void goToDateTime(DateTime dateTime) {
|
|
||||||
fillViewPager(Formatter.getDayCodeFromDateTime(dateTime));
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,91 @@
|
|||||||
|
package com.simplemobiletools.calendar.activities
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.Menu
|
||||||
|
import android.view.MenuItem
|
||||||
|
import android.view.View
|
||||||
|
import butterknife.OnClick
|
||||||
|
import com.simplemobiletools.calendar.Config
|
||||||
|
import com.simplemobiletools.calendar.Constants
|
||||||
|
import com.simplemobiletools.calendar.Formatter
|
||||||
|
import com.simplemobiletools.calendar.R
|
||||||
|
import com.simplemobiletools.calendar.adapters.MyPagerAdapter
|
||||||
|
import com.simplemobiletools.calendar.fragments.MonthFragment
|
||||||
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
|
import org.joda.time.DateTime
|
||||||
|
import org.joda.time.DateTimeZone
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
class MainActivity : SimpleActivity(), MonthFragment.NavigationListener {
|
||||||
|
private val PREFILLED_MONTHS = 73
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
setContentView(R.layout.activity_main)
|
||||||
|
|
||||||
|
val today = DateTime().toString(Formatter.DAYCODE_PATTERN)
|
||||||
|
fillViewPager(today)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
Config.newInstance(applicationContext).isFirstRun = false
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
|
menuInflater.inflate(R.menu.menu, menu)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
|
when (item.itemId) {
|
||||||
|
R.id.settings -> {
|
||||||
|
startActivity(Intent(applicationContext, SettingsActivity::class.java))
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
R.id.about -> {
|
||||||
|
startActivity(Intent(applicationContext, AboutActivity::class.java))
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
else -> return super.onOptionsItemSelected(item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@OnClick(R.id.calendar_fab)
|
||||||
|
fun fabClicked(view: View) {
|
||||||
|
val intent = Intent(applicationContext, EventActivity::class.java)
|
||||||
|
val tomorrowCode = Formatter.getDayCodeFromDateTime(DateTime(DateTimeZone.getDefault()).plusDays(1))
|
||||||
|
intent.putExtra(Constants.DAY_CODE, tomorrowCode)
|
||||||
|
startActivity(intent)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun fillViewPager(targetMonth: String) {
|
||||||
|
val codes = getMonths(targetMonth)
|
||||||
|
val adapter = MyPagerAdapter(supportFragmentManager, codes, this)
|
||||||
|
view_pager.adapter = adapter
|
||||||
|
view_pager.currentItem = codes.size / 2
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getMonths(code: String): List<String> {
|
||||||
|
val months = ArrayList<String>(PREFILLED_MONTHS)
|
||||||
|
val today = Formatter.getDateTimeFromCode(code)
|
||||||
|
for (i in -PREFILLED_MONTHS / 2..PREFILLED_MONTHS / 2) {
|
||||||
|
months.add(Formatter.getDayCodeFromDateTime(today.plusMonths(i)))
|
||||||
|
}
|
||||||
|
|
||||||
|
return months
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun goLeft() {
|
||||||
|
view_pager.currentItem = view_pager.currentItem - 1
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun goRight() {
|
||||||
|
view_pager.currentItem = view_pager.currentItem + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun goToDateTime(dateTime: DateTime) {
|
||||||
|
fillViewPager(Formatter.getDayCodeFromDateTime(dateTime))
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user