import
android.os.Build
import
android.os.Bundle
import
android.os.Environment
import
android.os.StatFs
import
android.widget.TextView
import
androidx.annotation.RequiresApi
import
androidx.appcompat.app.AppCompatActivity
import
java.io.File
class
MainActivity : AppCompatActivity() {
@RequiresApi
(Build.VERSION_CODES.JELLY_BEAN_MR2)
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val mTextView= findViewById<TextView>(R.id.text_view)
val iPath: File = Environment.getDataDirectory()
val iStat = StatFs(iPath.path)
val iBlockSize = iStat.blockSizeLong
val iAvailableBlocks = iStat.availableBlocksLong
val iTotalBlocks = iStat.blockCountLong
val iAvailableSpace = formatSize(iAvailableBlocks * iBlockSize)
val iTotalSpace = formatSize(iTotalBlocks * iBlockSize)
mTextView.text =
"Internal Available: $iAvailableSpace\nInternal Total: $iTotalSpace"
}
private
fun formatSize(size: Long): String? {
var size = size
var suffix: String? =
null
if
(size >=
1024
) {
suffix =
"KB"
size /=
1024
if
(size >=
1024
) {
suffix =
"MB"
size /=
1024
}
}
val resultBuffer = StringBuilder(java.lang.Long.toString(size))
var commaOffset = resultBuffer.length -
3
while
(commaOffset >
0
) {
resultBuffer.insert(commaOffset,
','
)
commaOffset -=
3
}
if
(suffix !=
null
) resultBuffer.append(suffix)
return
resultBuffer.toString()
}
}